Gitの競合の場合、現在は次のことができます。
git diff path/to/some/file.txt
...違いを見た後、通常は次のことをしたいと思います。
git checkout --theirs path/to/some/file.txt && git add path/to/some/file.txt
毎回2つのパスを編集するのは難しいので、次のことができます。
git checkout --theirs <ref> && git add path/to/some/file.txt
file.txt を示し<ref>
ます。
Bashでこれを行う方法はありますか?
答え1
方法はさまざまです。
あなたはそれを使用することができます歴史的拡張(t)csh、bashまたはzshから。!$
前のコマンドラインの最後の引数に展開されます。
git checkout --theirs !$ && git add !$
Bash、ksh、zshには変数があります。$_
シェルが実行した最後の単純コマンドの最後の引数を格納します。
git checkout --theirs "$_" && git add "$_"
Bashとzshには、前のコマンドラインの最後の引数を挿入するキーボードショートカットAlt+.またはがあります。ESC .
git checkout -- それらのAlt+ .&& git add Alt+.
関数に入力できます。
git_add_theirs () {
if [ "$#" -eq 0 ]; then set -- "$_"; fi
git checkout --theirs -- "$@" && git add -- "$@"
}
それとも、スタンドアロンスクリプトadd-theirs = git_add_theirs
で作成してください~/.gitconfig
。