提交如何从一个文件的日志中消失?

Mal*_*lio 9 git

所以我对一个文件进行了更改,将其推送到我们的主仓库,在那里看到它.大卫从那个回购中撤出并做了 - 好吧,有些事 - 并且看不到我的变化.由于大卫是典型的微软受害者,我让他把他所拥有的东西推回回购,我会在那里看看.

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提交更改了.我该如何追踪发生的事情?

Fro*_*sty 2

看起来大卫的合并就是你所做的。我这样说是因为合并似乎已经“恢复”了你的更改。

#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 不再需要进行合并,而是提交非正式(或正式)的“拉取请求”,然后您负责合并。