[解決済み] Git "error: ブランチ 'x' は完全にマージされていません。
質問
以下は、masterブランチから使用したコマンドです。
git branch experiment
git checkout experiment
そして、自分のファイルにいくつか変更を加えてコミットし、新しいブランチを GitHub にプッシュしました。
git commit . -m 'changed files'
git push -u origin experiment
その後、実験用ブランチを master ブランチにマージすることにしました。
git checkout master
git merge experiment
最後に、変更をGitHubにプッシュしました。
git push -u origin master
を使って実験用ブランチを削除するまでは、すべてうまくいっていました。
git branch -d experiment
エラーメッセージが表示されました。
エラーが発生しました。ブランチ 'experiment' は完全にマージされていません。
本当に削除してよいのなら、'git branch -D experiment' を実行してください。
私はgitに少し慣れていないので、2つのブランチをどこまでマージできるのかわかりません。何が足りないのでしょうか?
どのように解決するのですか?
<上
注意事項
コメントを受けて、文言を変更しました。ありがとうございます。
これはエラーではなく、警告です。削除しようとしているブランチには、上流ブランチや HEAD (現在チェックアウトされているリビジョン) のいずれからも到達できないコミットが含まれているということです。
つまり、コミットを失う可能性がある場合です¹。
実際には、おそらくコミットを修正、リベース、またはフィルタリングして、それらがないことを意味します。 と思われる は同じです。
したがって、あなたは 警告を回避する を含むブランチをチェックアウトすることです。 非参照 その別のブランチを削除することで、です²。
実際に重要なコミットを見逃していないことを確認したいと思います。
git log --graph --left-right --cherry-pick --oneline master...experiment
これで、ブランチ間で共有されていないもののリストが得られます。気になるところですが、このとき
--cherry-pick
という警告が表示されることがあります。
--cherry-pick
コミットのセットが対称的な差で制限されている場合、"other side"の他のコミットと同じ変更を導入するコミットは省略されます。たとえば、A と B という二つのブランチがあったとして、片方だけのコミットをリストアップするには --left-right を指定します。しかし、これではもう一方のブランチからチェリーピックしたコミットが表示されてしまいます (たとえば "3rd on b" は A ブランチからチェリーピックしたものかもしれません)。このオプションでは、そのようなコミットのペアは出力から除外されます。
デフォルトでは、しばらくするとガベージコレクトされるだけです。また
git-branch
のリビジョンツリーをチェックしません。
すべてのブランチ
. この警告は、明らかな間違いを避けるためにあるのです。
² (私の好みとしては、代わりに強制的に削除することですが、より安心感を得たいかもしれません)。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] git rebase の取り消し
-
[解決済み] Git フェッチ リモートブランチ
-
[解決済み】"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:コミットに何も追加されていないが、未追跡のファイルが存在する
-
[解決済み】マージの競合が発生した git stash pop の取り消し
-
[解決済み】git rev-parseは何をするのですか?
-
Gitのプッシュでエラーが発生! [リモート拒否] master -> master (pre-receive hook declined) error: failed to push s...
-
[解決済み] git stashを元に戻す
-
[解決済み] Git pull - マージする前に移動または削除してください。
-
[解決済み] SourceTree error:1407742E:SSLルーチン:SSL23_GET_SERVER_HELLO:tlsv1警告プロトコルバージョン
-
[解決済み] GitBash | origin master - rejected (fetch first) | GitHub リポジトリにファイルがない。
-
[解決済み] Git作者不明