Git 충돌의 경우 현재 다음을 수행할 수 있습니다.
git diff path/to/some/file.txt
...차이점을 살펴본 후 일반적으로 다음을 수행하고 싶습니다.
git checkout --theirs path/to/some/file.txt && git add path/to/some/file.txt
매번 두 개의 경로를 편집하는 것은 힘들기 때문에 다음을 수행할 수 있기를 바랍니다.
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
.