当采用git pull
,一个尚未在本地修改但尚未在本地提交的文件时,是否可能会更改自动合并,然后提交并推送更改(可能会破坏文件)我做的?
如果遥控器上有更新的版本,文件当然会在本地更改。
但是,除非我做了本地修改,否则该文件不应该与拉出后的遥控器上的文件相同?这些交易中没有任何分支机构。
我相信我只是看到了这种情况,但不明白它是怎么可能的。导致未修改和未提交文件通过合并相对于远程(源/主)修改的条件是什么?
答案 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
可能会显示合并提交中更改的文件,即使合并的本地提交未在本地更改文件也是如此。您应该查看合并提交和与本地提交合并的远程提交之间的差异,以查看远程文件是否在这些事务中实际更改。