[解決済み] Git Interactive Merge?
2023-02-27 23:19:33
質問
まったく同じファイルを持つ 2 つのブランチがあり、対話的にそれをマージしたいのですが (念のため言うと、それは .sql ファイルです)。
ほとんど、私は競合があるときに行うような差分プログラム (またはコマンド ライン) を開き、どの行がどこに行くかを正確に選択したいのです。
これを行う方法はありますか?
どのように解決するのですか?
はい。しかし、ほとんどの場合、手動でそれを実現することになります。Git に、関連する二つのブランチをマージするけれども、その結果を自分自身でコミットしようとしないように指示します ( を追加するために編集されました。 また、マージが些細なことであると判断した場合は、fast-forward を実行します)。
git merge --no-commit --no-ff branch-to-merge
次に、2つのブランチに現れたファイルをgitに問い合わせます。
git show HEAD:filename >filename.HEAD
git show branch-to-merge:filename >filename.branch
とそのマージベースです。
git show `git merge-base HEAD branch-to-merge`:filename >filename.base
好きなツールを使ってマージすることになります(例えば)
meld filename.{HEAD,branch,base}
というステージになります(
git add filename
)、そしてマージをコミットします (
git commit
).
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git で、ステージされていない変更を破棄するにはどうしたらいいですか?
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み】"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 push] 解決策: ! [リモート拒否] master -> master (受信前のフックは拒否されました)
-
fatal: リモート参照マスタが見つかりませんでした。
-
Gitのエラーについて覚えておく-すべて最新にする
-
hint: 現在のブランチの先端が hint: そのリモートカウントより遅れているため、更新が拒否されました。
-
Git error: cannot spawn ssh.の回避策。そのようなファイルやディレクトリはありません
-
git reports an error fatal: unable to auto-detect email address (got 'Administrator@MS-20180504MMDH.(none)')
-
[解決済み] なぜGitでコミットする前にステージが必要なのですか?
-
[解決済み] git diff を stdout に書き出すには?
-
[解決済み] Gitブランチの名前をローカルとリモートで変更できますか?重複
-
[解決済み] ローカルのGitブランチをリモートレポにコピーする方法