1

master とその顧客のプライベートブランチにまたがる共通ファイル「foobar」があります。以前は分岐していましたが、今では master のすべてのプライベート ブランチに適用される単一のファイルを取得することができました。

私の顧客のブランチが master を追跡するために、私はgit rebase -i master.

ただし、プライベートブランチで強制的に「同期」しgit checkout master -- foobar、コミットしたところ、git rebase でエラーが発生しています。毎回手作業で直すのは時間がかかりすぎます。

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

この厄介な状況から抜け出す方法を誰かが 1 つか 2 つ提供できますか? プライベート ブランチでコミットを元に戻すことは問題ではありません。基本的に、すべてのブランチでマスターから最後まで 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

リベースしてマスターからの変更をチェックアウトするという解決策を見つけたと思います。

逆にすると悪いことが起こります。つまり、マスターからファイルをチェックアウトしてから、リベースします。

于 2012-07-10T15:53:07.707 に答える