将主分支的文件从权威分支到重新分支的分支

时间:2012-07-09 16:27:39

标签: git branching-and-merging

我有一个跨主人及其客户私人分支的公共文件“foobar”。以前他们分道扬and,现在我已经设法获得一个文件,可以在主人的所有私人分支中使用。

为了让我的客户分支跟踪主人,我已成功使用git rebase -i master

但是,我现在已经强行“同步”了我的私人分支中的git checkout master -- foobar,提交了它,现在我的git rebases错误了。每次手工修理都需要很长时间。

git checkout master -- foobar && git add foobar && git rebase --continue

有人可以提供一两个小贴士如何摆脱这种棘手的局面吗?恢复我在私有分支上的提交不是问题。基本上我希望我的所有分支都使用master中的foobar文件,结束。

2 个答案:

答案 0 :(得分:0)

通过属性使用自定义合并驱动程序:

git checkout master
echo foobar merge=checkoutMaster > dir/to/foobar/.gitattributes
git add dir/to/foobar/.gitattributes
git commit -m "Always use master version of foobar"
git config merge.checkoutMaster.name "Use master version of foobar"
git config merge.checkoutMaster.driver "~/checkoutMasterFoobar.sh %O %A %B"
echo "git checkout master -- dir/to/foobar/foobar && exit 0" > ~/checkoutMasterFoobar.sh

答案 1 :(得分:0)

我想我找到了解决方案,我已经重新定位,然后从主人那里查看更改。

当你做相反的事情时会发生不好的事情。即从master中签出文件,然后rebase。