私は2つの枝を持っています。1 つはmasterで、もう 1 つは imyBranchで、次のようになります。
master
|
| myBranch
| /
| /
|/
|
masterそれらを 1 つのブランチにマージし、ブランチからのすべての変更を保持し、何も保持しないようにしたいと考えていmyBranchます。
私は2つの枝を持っています。1 つはmasterで、もう 1 つは imyBranchで、次のようになります。
master
|
| myBranch
| /
| /
|/
|
masterそれらを 1 つのブランチにマージし、ブランチからのすべての変更を保持し、何も保持しないようにしたいと考えていmyBranchます。
oursマージ戦略を使用してブランチをマージします。
git checkout -b new-branch master
git merge -s ours myBranch
-X oursKoraktor の回答で最初に述べたように、これは とはまったく異なることに注意してください。-X oursはrecursive戦略のオプションであり、 からのすべての変更を引き続き保持しますが、競合が発生した場合はmyBranchマスターからの解決を優先します。一方、 によって導入された変更は完全に無視されます。-s oursmyBranch
ブランチを削除するだけです:
git branch -d "myBranch"
$ git checkout -b new-branch
$ git merge -s ours myBranch
これを で直接実行したい場合masterは、最初のコマンドを省略してください。
PS: 「user4815162342」は正しい-sです-X。