我第一次体验将别人的更改与 Git merge (而不是我自己以微不足道的方式克隆/推送。)我使用了 git pull ,冲突解决的基本过程是很简单,那一点似乎工作得很好。
不过,我对所看到的有点困惑。我确信这是一个非常简单的问题。但是为什么在我从主服务器中提取并 merge 某人的更改后,它显示这些文件在我的分支中“暂存”......即使我根本没有触及这些文件?
例如:另一个人在项目中添加了一个全新的PNG。当我执行 git status 操作时,该 PNG 显示为“已添加”。我没有执行 git add , merge 会自动将其放在那里。一切是否真的正常工作,并且这不会看起来像是来自我的提交?当我提交和推送时,会出现某种 diff 魔法吗?
最佳答案
请记住, pull 只是获取 + merge 。
您需要提交 merge 。这会导致所谓的“merge 提交”。 merge 提交将以您的最新修订版和您刚刚提取的修订版作为父级。这些文件显示为已暂存,因为它们将包含在 merge 提交中。
尝试运行git commit
,然后查看生成的历史记录,例如: gitk
。
您可以阅读有关 merge 的更多信息,例如 Git Book .
关于git - 为什么 git 会暂存我 checkin 的文件,这些文件是在 merge 中拾取的,但我没有触及?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11925278/