git是否会在合并中更改未修改和未修改的文件?

时间:2016-01-22 10:15:52

标签: git git-merge

当采用git pull,一个尚未在本地修改但尚未在本地提交的文件时,是否可能会更改自动合并,然后提交并推送更改(可能会破坏文件)我做的?

如果遥控器上有更新的版本,文件当然会在本地更改。

但是,除非我做了本地修改,否则该文件不应该与拉出后的遥控器上的文件相同?这些交易中没有任何分支机构。

我相信我只是看到了这种情况,但不明白它是怎么可能的。导致未修改和未提交文件通过合并相对于远程(源/主)修改的条件是什么?

1 个答案:

答案 0 :(得分:3)

  

在进行git pull时,是否有可能是一个尚未在本地修改但尚未在本地提交的文件,自动合并中的更改

Git pull是2个命令的别名:git fetch && git merge因此从服务器提取代码时可能会有合并。 但是您提到您没有修改代码,因此不应该有任何冲突,因为不需要对此文件应用本地更改。

如果在合并过程中文件已被更改,您可以提交,推送和破坏您的构建,但问题仍然存在 - 谁修改了文件并对其进行了更改。

如何跟踪文件更改

git bisect

检查文件何时更改

git blame

检查是谁更改了给定的行(最后一次更新了给定行)

git log

git log -p <path/to/file/file>将显示给定文件的所有日志条目。

git diff

请注意,git-diff可能会显示合并提交中更改的文件,即使合并的本地提交未在本地更改文件也是如此。您应该查看合并提交和与本地提交合并的远程提交之间的差异,以查看远程文件是否在这些事务中实际更改。