[解決済み】特定のファイルへの変更のみをgit-cherry-pickする方法は?
2022-03-23 20:49:56
質問
複数のファイルへの変更を含む特定のコミットで変更されたファイルの一部だけを Git ブランチにマージしたい場合、どのようにすればよいのでしょうか。
というGitコミットがあったとします。
stuff
には、ファイル
A
,
B
,
C
および
D
のみをマージしたいのですが
stuff
の変更点をファイル
A
と
B
. の仕事のようですね。
git cherry-pick
しかし
cherry-pick
は、ファイルのサブセットではなく、コミット全体をマージする方法しか知らないのです。
どのように解決するのですか?
私なら
cherry-pick -n
(
--no-commit
を使用すると、コミットする前に結果を検査(および修正)することができます。
git cherry-pick -n <commit>
# unstage modifications you don't want to keep, and remove the
# modifications from the work tree as well.
# this does work recursively!
git checkout HEAD <path>
# commit; the message will have been stored for you by cherry-pick
git commit
もし変更の大部分が不要なものであれば、個々のパスをチェックする(中間ステップ)代わりに、すべてをリセットして元に戻し、必要なものを追加することができます。
# unstage everything
git reset HEAD
# stage the modifications you do want
git add <path>
# make the work tree match the index
# (do this from the top level of the repo)
git checkout .
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git で、ステージされていない変更を破棄するにはどうしたらいいですか?
-
[解決済み] git rebase の取り消し
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】Gitでコミットをチェリーピックするというのはどういう意味ですか?
-
[解決済み】ローカルの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 リモートブランチがリモートの参照先を見つけることができない
-
[解決済み】GitHub: クローンには成功したが、チェックアウトに失敗した
-
[解決済み] git: fatal: リモートリポジトリから読み取れませんでした。
-
[解決済み] 複数のgitコミットを元に戻すには?
-
[解決済み] "would clobber existing tag "を取り除くには?
-
[解決済み] git commit signing failed: secret key not available.
-
[解決済み] Gitのエラー「object file ... is empty」はどうすれば直せますか?
-
[解決済み】git -pのコンテキストで、[y,n,q,a,d,/,K,j,J,g,e,?]はそれぞれ何を表しているのですか?
-
[解決済み】Git: コミットせずに作業コピーにチェリーピックする
-
[解決済み] git - 別ブランチのコミットを作業コピーに適用する