2012-05-16 119 views
1

我是一個Git的新手,我遇到一些問題已經... 我沒有克隆到我的機器上的庫(在BitBucket),並修改了一個文件'Makefile'和創建了3個新的(c_file,gma.txt和ded_mpi.dat)。 然後,我鍵入提交這些添加/更改到主存儲庫:commit -a,我在文本編輯器中寫了一條消息)git commit -a沒有工作

我在這裏有2個問題。首先,我認爲這會將我的更改提交給主代表,但它沒有(我通過克隆主版本進行檢查:我的更改不包括在內)。 然而,在我的機器上的代表,git log包含我的消息......

我想我錯過了使用Git的工作方式:) git diff打印無中生有。

第2期:

git status打印:

# On branch master 
# Your branch is ahead of 'origin/master' by 1 commit. 
# 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# c_file 
# gma.txt 
# ded_mpi.dat 
nothing added to commit but untracked files present (use "git add" to track) 

文件C_FILE,gma.txt等ded_mpi.dat已提交,但不添加...我想commit -a也都 '犯' 和「添加'...?

;另一方面,沒有什麼關於我修改了預先存在的Makefile的狀態...

正如你可以看到,我需要一隻手:)

如果有人可以幫助我瞭解發生了什麼事情,那會很棒!

乾杯

+0

@eis這是如何解決問題的?用戶只需要瀏覽每個文件,如果他想忽略它,就將它添加到.gitignore –

回答

3

1.I以爲你忘了把你的承諾,如「混帳推起源大師」

2.「git的承諾-a」不添加新的文件,只需提交修改和刪除文件,你需要使用「git add」。準備提交。

+0

嗯好的。我會嘗試你的建議,謝謝。我應該「刪除」我之前的提交,以便在提交歷史記錄中不會有兩次提交嗎?我怎麼能這樣做? – garth

+0

是的,如果他已經添加並執行了他所關心的所有事情,推動主人的承諾將解決這個錯誤。 –

1

首先,要注意狀態消息,它告訴你有一些尚未添加,可以這樣做與

git add . 
現在

未跟蹤文件,以解決您的承諾,所以你不要」 ⑤按2提交對象,你可以「修改」與新添加的文件的當前commit對象是這樣的:

git commit --amend 

現在如果你這樣做git status你就會有一個單一的commit對象準備推到遠端。

我強烈建議在你的腰帶下獲得一些基礎知識。去看看Git Immersion是一個很好的先發。

+0

謝謝,這工作得很好!和thx的tuto鏈接以及;) – garth

+0

@garth不客氣 –

+0

@Mark當我做git commit --amend,它只顯示我最後一次提交的消息。它在下次運行git status時不會改變任何東西 –