通过使分支非常便宜,SVN使分支变得更容易,但合并仍然是SVN中的一个真正的问题--Git据说可以解决这个问题.
Git能实现这一目标吗?
(免责声明:我所知道的关于Git的全部内容都是基于Linus讲座 - 这里的总git noob)
我想在使用vcs或dvcs时学习其他人的工作流程.
请描述您处理以下任务的策略:
您可以随意组织您的答案,不按任务分组,但按照您认为相关的任何分组,但请通过VCS/DVCS进行组织(请不要混用它们).
谢谢.
得到一个文件,它有两个感兴趣的提交,都在Master
分支上,都只修改一个文件foo
:先前的提交AA
,以及当前的版本HEAD
.我想合并的文件的两个版本,保留两个位,为HEAD
上Master
.
我做了一件我觉得最简单的事情:
git checkout -b merge-purgatory AA
git commit -m "pulled foo back from previous commit for merging into HEAD."
git checkout master
git merge merge-purgatory
Run Code Online (Sandbox Code Playgroud)
它只是会覆盖当前HEAD
的版本foo
与AA
版本.尝试更详细git checkout -m
,同样的结果:愚蠢的覆盖.
如何强制git将AA
版本foo
视为与当前HEAD
版本冲突的合并?
当二进制文件,swfs,jar和flv在本地更改,并且我尝试引入更改时,git尝试合并它们并报告冲突.
然后,我分支到一个临时分支,并提交本地更改的二进制文件,并在拉动之后将它们合并为递归策略. - 太多的工作.
有没有办法告诉git,不要尝试合并二进制文件,并问我使用哪个版本.