簡體   English   中英

Git丟失變化

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM