gitリポジトリをあるフォームから別のフォームに移行するためのボットを作成しようとしています。Gitチェリーピックの競合がチルダファイルを作成する
このプロセスでは、チェリーを実行してステージングブランチからマスターブランチへの変更を行うためにgit cherry-pick $commit_hash -X theirs --no-edit --keep-redundant-commits
を実行します。
マスターのHEADとチェリーピックされたコミットの両方が、同じファイルであるが異なる内容を追加しています。私はチェリーピックされたコミットを上書きすることを希望します。したがって、-X theirs
。
しかし、gitがpath/to/first_file~[commit hash]...[truncated commit message]
という2番目のファイルを追加すると、競合が発生しています。どうすればこの問題を回避できますか?ここでの問題は-X theirs
だけ既存のファイル内の競合をマージ影響を与えることである
$ git status # copy the conflicted <file path>
$ git checkout --theirs <file-path> # accept theirs changes
$ git commit -am 'resolved conflicts' # fixed conflicts
"これはGitは行いませんが、さまざまな外部ヘルパーマージツールは"どのようなヘルパーですか?それらは?これは私の個人的なUbuntu 16.04インストールとHerokuの両方で発生します。私は外部ヘルパーがインストールされていることに気づいていません。私はこれが 'git merge'でも起こっていることに気付きました。 –
外部ヘルパーの詳細なリンクがありますか?:) –
私は他のツールを一切使っていませんが、自分の配布ツールがこれらのファイル名を使用しているかどうかを調べるためにGitソースを調べました。 Gitのデフォルトは、マージの衝突で停止するだけで、 'git mergetool'を実行してカスタムツールを実行します。さまざまな設定ファイルと '.gitattributes'を使ってカスタムマージ*ドライバ*を定義することもできます。 – torek