清除Git迁移问题

时间:2013-12-17 06:26:42

标签: git migration clearcase

我正在从ClearCase迁移到Git并遇到两个问题:

  1. 我团队的某个人将他的一个分支推入“起源/主人”分支并搞砸了分支机构。我有一个本地回购“大师”,我想完全推动它,并使其完全适合我的分支机构。我该怎么做?

  2. 我的电脑上有两个分支 - 我想知道它们之间的差异并制作一个脚本,人们可以从不同的计算机上运行并重新应用所有更改(删除,插入和修改)。

  3. (评论约2)非常重要:两个分支的创建方式如下: 两个分支 - 一个比另一个更高级 - 也就是说,它包含另一个没有的变化,另一个分支没有第一个没有的版本。

  4. 也就是说,它不是一个分叉。希望简化事情。

1 个答案:

答案 0 :(得分:3)

(1)

git push -f origin master

-f将覆盖您的远程分支。

(2)

这将获得branch1branch2之间的提交ID。

git log --pretty=format:%h branch1..branch2

然后,您可以通过执行git checkout abc123

来转到每个人 顺便说一下,你对#2有什么看法?有许多非常棒的内置git功能,例如git bisect,可以解决您的问题。

修改

(A)如果要保留提交历史记录,则应使用

创建修补程序
 git format-patch branch1..branch2 --stdout > my_patch.patch

这将包含branch1branch2之间所有更改的补丁。然后用

应用它
 git am < my_patch.patch

(B)如果你只是想要改变,没有提交,

 git diff branch1..branch2 > my_patch..patch

然后

 git apply < my_patch