1

我在 master 及其客户私有分支中有一个通用文件“foobar”。以前他们分道扬镳,现在我设法获得了一个适用于 master 中所有私有分支的文件。

为了让我的客户分支机构跟踪master,我已经成功使用了git rebase -i master.

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

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

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

4

2 回答 2

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
于 2012-07-09T19:59:24.177 回答
0

我想我已经找到了解决方案,我重新设置了基础,然后从 master 签出更改。

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

于 2012-07-10T15:53:07.707 回答