[英]Git losing changes
我有3個文件,A,B,C。
我對A和B進行了一些更改,然后運行git diff
來檢查所做的更改。 一切看起來都不錯。 然后我對'C'進行了更改,然后再次運行git diff
,但這一次它只顯示了我對'C'所做的更改。 如果我輸入git diff HEAD
那么我可以看到對所有3個文件的更改。
當我承諾時會發生什么? 它將僅提交對C或A,B,C的更改嗎?
如果您git add
ed A和B git add
到索引中,則可以執行git diff --cached
來查看它們的更改。 git diff
僅顯示未分級的更改。 混帳git diff手冊頁 :
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。 如果在暫存下一次提交的文件提交之后運行git diff
,則看不到更改。 這是預期的行為,您可以運行git diff --cached
來查看對已添加文件的更改。
如果您修改另一個文件C,則git diff
將僅顯示C中的更改(尚未暫存)。 git diff HEAD
命令顯示了暫存文件和未暫存文件的更改:確切地,它顯示了自上次提交以來工作樹中的更改。
為了簡短地回答您的原始問題, git commit
會將更改提交到您修改的所有文件(A,B,C),而不只是C。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.