所以我对一个文件进行了更改,将其推送到我们的主仓库,在那里看到它.大卫从那个回购中撤出并做了 - 好吧,有些事 - 并且看不到我的变化.由于大卫是典型的微软受害者,我让他把他所拥有的东西推回回购,我会在那里看看.
git log --name-only
产生
commit 194b7f5dbb59d29ace340a376f10906752978db5
Merge: 484df79 afc2dec
Author: David Good <david@company.com>
Date: Sat Sep 24 11:47:14 2011 -0700
[ David's merge ]
commit afc2dec4a828de05350c39526eeecf9d3a15e465
Author: Michael <info@company.com>
Date: Sat Sep 24 10:58:54 2011 -0700
[ my changes ]
backend/theimportantfile.js
commit e4e2f9ce9df3adf5ed0547ed16521eb742cc2ac1
Author: Michael <info@company.com>
Date: Sat Sep 24 10:47:09 2011 -0700
[ some other thing ]
Run Code Online (Sandbox Code Playgroud)
但git log backend/theimportantfile.js
产生
commit eb470fe1792220779b14e90337f74fb216fc9f7f
Author: David Good <david@company.com>
Date: Mon Sep 12 17:20:25 2011 -0700
[ comment ]
commit 63ddd2be020092a4bf65d1eac106ece5fd7fbbd3
Author: David Good <david@company.com>
Date: Fri Sep 9 16:23:53 2011 -0700
[ comment ]
Run Code Online (Sandbox Code Playgroud)
所以根据git,backend/theimportantfile.js
几个星期没有被触及,但它也在两小时前被afc2dec提交更改了.我该如何追踪发生的事情?
看起来大卫的合并就是你所做的。我这样说是因为合并似乎已经“恢复”了你的更改。
#this command will show you if anything 'strange' happened during the merge"
git show 194b7f
Run Code Online (Sandbox Code Playgroud)
如果该命令没有给出有趣的输出,那么 David 可能会与“我们的”策略合并,或者聪明地“将我的文件复制到临时位置”;git 合并;覆盖冲突的文件;git commit 的工作流程。
不管这个状态是如何达到的,合并都需要被丢弃并重做,因为它显然是错误的。您还可以考虑更改您的工作流程,以便 David 不再需要进行合并,而是提交非正式(或正式)的“拉取请求”,然后您负责合并。