2012-06-20 12 views

Odpowiedz

0

G2 - stosuje następującą alias continue

URL do G2 - https://github.com/orefalo/g2 Cheatsheet - http://orefalo.github.com/g2/

#!/bin/bash 
# 
# This command is used to resume a conflict, either rebase or merge 
# it will smartly do a rebase --skip when necessary 

state=$("$GIT_EXE" g2brstatus) 

[[ $state = "rebase" ]] && { 

action="--continue" 
if git diff-index --quiet HEAD --; then 
    echo "The last commit brings no significant changes -- skipping" 
    action="--skip" 
fi 

"$GIT_EXE" rebase $action 2> /dev/null 

} 

[[ $state = "merge" ]] && { 
# Count the number of unmerged files 
count=$("$GIT_EXE" ls-files --unmerged | wc -l) 
[[ $count -ne 0 ]] && echo "I am afraid you still have unmerged files, please run <g mt> to resolv conflicts" ||"$GIT_EXE" commit 
} 
+0

To wydaje się bardzo pomocne, ale szukam to zrobić raz na początku, coś takiego jak "git rebase --skip-empty" zamiast zatrzymywać się na każdym z nich. Spróbuję tego, jeśli nic innego się nie pojawi – quinn

+0

Nie znam żadnych flag na bazie. pamiętaj, że pomijasz po rozwiązaniu konfliktu, a git oczekuje, że wiesz, czy powinieneś dokonać ponownego wyboru, czy kontynuować. g2 rozwiązuje ten problem, ustalając to dla ciebie. Możesz zmienić skrypt na swoje ulubione. –