gpt4 book ai didi

Git 列出已修改但未暂存提交的相同文件?

转载 作者:IT王子 更新时间:2023-10-29 01:05:34 26 4
gpt4 key购买 nike

出于某种原因,Git 告诉我我有一个文件既“待提交”又“未暂存提交”?这没有意义:

% git status 
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: Dir1/Dir2/filename.cpp
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: Dir1/Dir2/filename.cpp

Dir1Dir2filename.cpp 肯定都是同一个文件。我不得不再次添加 filename.cpp 以使其显示为要提交的更改(在它最初位于存储库中之后)。关于可能导致问题的唯一一件事是我 stash ,pull --rebase,然后 pop stash.gitignore 不会在任何地方列出 Dir1Dir2filename.cpp 并且模式并不表明它们会捕获这个文件?

最佳答案

这意味着您对 filename.cpp 进行了更改,添加了该更改(使用 git add),然后进行了另一个尚未添加的更改。

“要提交的更改”部分意味着 Git 已经用更改更新了它的索引。当您运行 git commit 时,对索引的更改将用于创建新的提交对象。

“changes not staged”部分显示了索引和您的工作副本之间的差异。

您可以像这样重现您所看到的内容:

  • 编辑文件名.cpp
  • 运行 git status。您会看到“更改未暂存”。
  • 运行 git add filename.cpp
  • 运行 git status。您会看到“要提交的更改”。
  • 再次编辑filename.cpp
  • 运行 git status。您会看到“未暂存的更改”和“待提交的更改”。

这有意义吗?解释 Git 的工作原理总是有点棘手。

关于Git 列出已修改但未暂存提交的相同文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10676173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com