我有3個檔,A,B,CGit的失敗改變
我做了一些改變,以A和B,然後跑到git diff
檢查我所做的更改。一切看起來不錯。然後我對「C」進行了更改,然後再次運行git diff
,但是這次它只顯示了我對「C」所做的更改。如果我輸入git diff HEAD
,那麼我可以看到所有3個文件的更改。
我承諾會發生什麼?它只會對C或A,B,C進行更改嗎?
我有3個檔,A,B,CGit的失敗改變
我做了一些改變,以A和B,然後跑到git diff
檢查我所做的更改。一切看起來不錯。然後我對「C」進行了更改,然後再次運行git diff
,但是這次它只顯示了我對「C」所做的更改。如果我輸入git diff HEAD
,那麼我可以看到所有3個文件的更改。
我承諾會發生什麼?它只會對C或A,B,C進行更改嗎?
如果您將git add
編輯爲索引A和B,則可以執行git diff --cached
以查看其更改。 git diff
僅顯示未執行的更改。答曰git diff man page:
Various ways to check your working tree
$ git diff (1)
$ git diff --cached (2)
$ git diff HEAD (3)
1. Changes in the working tree not yet staged for the next commit.
2. Changes between the index and your last commit; what you would be committing
if you run "git commit" without "-a" option.
3. Changes in the working tree since your last commit; what you would be
committing if you run "git commit -a"
最後,您還應該使用git status
你承諾,看看究竟你會被提交之前。
您通過git add
添加了A和B.如果在爲下一次提交分階段執行filex後運行git diff
,則不會看到更改。這是預期的行爲,您可以運行git diff --cached
以查看對添加文件的更改。
如果您修改另一個文件,C,git diff
將只顯示C中的更改(尚未分配)。 命令git diff HEAD
顯示了分段文件和非分頁文件的更改:確切地說,它顯示自上次提交以來工作樹中的更改。
先簡單回答你原來的問題,git commit
將更改提交到所有你修改(A,B,C)中的文件,而不是隻C.
你舉辦這些變化呢? –
在第二次運行'git diff'之前,你確定沒有爲文件A和B運行'git add'嗎? –
@布萊恩,不,我只是在git commit之前做git add和git diff。我會檢查'舞臺'是什麼。 at-Lorenzo:是的,我爲A和B做了git add,並檢查了git diff。然後改變C和git添加C ..然後再次git diff – Crypto