我有一个跨主人及其客户私人分支的公共文件“foobar”。以前他们分道扬and,现在我已经设法获得一个文件,可以在主人的所有私人分支中使用。
为了让我的客户分支跟踪主人,我已成功使用git rebase -i master
。
但是,我现在已经强行“同步”了我的私人分支中的git checkout master -- foobar
,提交了它,现在我的git rebases错误了。每次手工修理都需要很长时间。
git checkout master -- foobar && git add foobar && git rebase --continue
有人可以提供一两个小贴士如何摆脱这种棘手的局面吗?恢复我在私有分支上的提交不是问题。基本上我希望我的所有分支都使用master中的foobar文件,结束。
答案 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。