[解決済み] git cherry-pickが「...38c74dはマージされましたが、-mオプションは指定されませんでした」と言う。
質問
masterブランチにいくつか変更を加え、それを上流に持ってきたいと思います。チェリーピックすると、以下のコミットが表示されます。しかし、fd9f578で引っかかります。
$ git cherry-pick fd9f578
fatal: Commit fd9f57850f6b94b7906e5bbe51a0d75bf638c74d is a merge but no -m option was given.
gitは何を伝えようとしているのでしょうか、そしてここで使うべきはcherry-pickなのでしょうか? masterブランチは、上流ブランチで変更されたファイルの変更を含んでいるので、いくつかのマージの衝突が発生すると思います。どの変更がどこに必要かはわかっています。
これらは、私がアップストリームに持ち込みたいコミットです。
e7d4cff added some comments...
23e6d2a moved static strings...
44cc65a incorporated test ...
40b83d5 whoops delete whitspace...
24f8a50 implemented global.c...
43651c3 cleaned up ...
068b2fe cleaned up version.c ...
fd9f578 Merge branch 'master' of ssh://extgit/git/sessions_common
4172caa cleaned up comments in sessions.c ...
解決方法は?
チェリーピックの仕組みは、チェンジセットが表す差分(その時点の作業ツリーと親の作業ツリーとの差分)を、現在のブランチに適用することです。
では、1つのコミットが2つ以上の親を持つ場合、それは2つ以上の差分も表しています - どの差分を適用すべきでしょうか?
あなたはチェリーピックをしようとしている
fd9f578
は、2 つの親を持つマージでした。そこで、チェリーピックコマンドに、差分を計算する対象がどちらなのかを
-m
オプションを使用します。例えば
git cherry-pick -m 1 fd9f578
を指定すると、親1がベースとして使用されます。
あなたの特定の状況について確かなことを言うことはできませんが、このような場合は
git merge
の代わりに
git cherry-pick
は一般的に推奨されます。マージコミットをチェリーピックするとき、それは
すべて
を指定した場合、指定しなかった親で行われた変更を
-m
をその
1つのコミット
. 履歴をすべて失い、すべての差分も一緒になってしまいます。あなたが決めることです。
関連
-
git commit リモートエラー [rejected] master -> master (フェッチファースト)
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] 現在のGitブランチをmasterブランチにする
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み】Gitでコミットをチェリーピックするというのはどういう意味ですか?
-
[解決済み】Gitのワークフローとrebaseとmergeの質問
-
[解決済み] ある範囲のコミットを選んで、別のブランチにマージする方法は?
-
[解決済み】特定のファイルへの変更のみをgit-cherry-pickする方法は?
最新
-
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エラー - fatal: マージ中に部分コミットができない
-
[解決済み】Git サブモジュール head 'reference is not a tree' エラー
-
[解決済み] あなたのブランチは 'origin/master' より 3 コミット進んでいます。
-
[解決済み】git push >> fatal: 設定されたプッシュ先がありません。
-
[解決済み] git stashを元に戻す
-
[解決済み] "would clobber existing tag "を取り除くには?
-
[解決済み] ブラウンアウトの一環として、パスワード認証が一時的に無効になっています。代わりに個人用アクセストークンを使用してください[重複]。
-
[解決済み] GitのFETCH_HEADとはどういう意味ですか?
-
[解決済み] Git のコミットを「取り消す」方法を教えてください。