[解決済み】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コマンドです。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] git rebase の取り消し
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 現在のブランチのトラッキング情報がありません。
-
[解決済み] git pull リモートブランチがリモートの参照先を見つけることができない
-
[解決済み】git rev-parseは何をするのですか?
-
[解決済み】Githubの認証に失敗した - ... GitHubはシェルアクセスを提供しない
-
[解決済み】git-mergeの-dry-runオプションはありますか?
-
[解決済み】ローカルに変更があるにもかかわらず、git pushが「すべて最新」と言う
-
git commit リモートエラー [rejected] master -> master (フェッチファースト)
-
[解決済み] 複数のコミットをチェリーピックする方法
-
[解決済み] Gitのプッシュエラーです。Unable to unlink old (Permission denied)です。
-
[解決済み] Git で、別のブランチの変更を選択的にマージしたり選択したりするにはどうすればよいですか?