在这里我做了什么:从主git的日志文件名--follow没有显示提交更改的文件
- 创建开发分支;
- 修改了几个文件并提交了它们;
- 合并开发分支掌握
--no-commit
参数;在开发分支中修改的几个文件上运行git reset --hard
因为master分支只包含来自开发分支的几个对象 - 即我已经部分地合并了开发变更; - 我已经承诺在主人的变化;
- 经过一段时间,主分支由其他开发人员更新,并更新我的开发分支我合并主分支到它。
我已经准备好了,我的开发对象我没有承诺要掌握我以前的合并将被主文件覆盖。但在git log --follow dev-modified-file.txt
的输出中,我无法看到覆盖我的开发变更的提交。
在我的开发分支上运行git log --follow dev-modified-file.txt
我可以看到需要进行开发修改的提交。但无法看到提交恢复该更改(实际上不存在此类提交),但我的工作树包含dev-modified-file.txt
文件的主版本,尽管存在提交添加开发代码的提交,但没有提交删除该代码。
为什么?
那么master分支的代码是如何潜入我的开发分支而不留下任何痕迹?
P.S.如果我的描述不清楚,请在评论中提问,我会很乐意解释和纠正这篇文章。
编辑:将我的主人合并到开发中后,我看不到master和development分支之间的区别(我省略的更改都没有了!),我没有看到commit在开发分支中负责!
我认为这可能与合并策略有关......但是如何?你看,我的日志在开发分支是这样的:
- 我已经添加了对文件的更改 - 工作文件夹中的文件包含更改。
- 我已经将主分支合并到了开发中 - 尽管没有任何责任,但我的编辑文件在主分支中变成了等量的许多提交到开发分支!
改变,没有留下的痕迹消失在合并后我加入更改该文件!
当您看到没有“no提交删除该代码“,或在开发分支上?即是否在'master'上没有看到开发分支的合并更改,或者在开发分支上出现'master'的版本意外? – Christopher 2012-08-06 15:27:59
在开发分支上。开发分支是引入所有变更的地方。在合并到主人期间,我只部分应用了这些更改。而这些省略的变化仅在开发分支中。我没有看到他们在主人身上 - 我没有故意犯下这些事情。但是,在将我的主人合并到开发中后,我看不到master和development分支之间的区别(我省略的更改已经消失了!),但我没有看到提交对此负责! – shytikov 2012-08-06 15:34:28
我敢打赌,'我的主人融入发展'承诺。试试'git diff〜1 ',看看它做了什么改变。 –
Christopher
2012-08-06 15:47:55