1. ホーム
  2. ギット

[解決済み】Gitブランチから特定のファイルをマージする方法

2022-04-01 16:56:14

質問

2つのgitブランチbranch1とbranch2があり、branch2のfile.pyをbranch1のfile.pyにマージして、そのファイルだけを残したいのですが、どうすればいいですか?

要するに、私はbranch1のfile.pyで作業したいだけなのですが、mergeコマンドの利点を利用したいのです。これを行うための最良の方法は何ですか?

解決方法は?

にコンテンツがある場合 file.py から ブランチ2 にはもう適用されません。 ブランチ1 この場合、いくつかの変更を選択し、他の変更を残す必要があります。完全な制御を行うには、以下のメソッドを使用して対話式にマージします。 --patch スイッチで変更できます。

$ git checkout --patch branch2 file.py

のマニュアルページのインタラクティブモードの項を参照してください。 git-add(1) は、使用するキーについて説明しています。

y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk nor any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk nor any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help

特に便利なのがsplitコマンドです。