2014-06-22 122 views
-1

我已經有了解決git衝突的腳本,但是我仍然想要一個簡單的方法來檢查.git/rebase-merge目錄。基本上,我正在尋找類似如下的腳本(這是給rebase-apply衝突):如何觸發rebase-merge衝突?

#!/usr/bin/env bash 
set -eu 
rm -rf ~/_/1 
mkdir ~/_/1 
cd ~/_/1 
git init 
echo 1 >1 && git add 1 && git commit -m 1 
git checkout -b devel 
echo d1 >d1 && git add d1 && git commit -m d1 
echo d2 >m1 && git add m1 && git commit -m d2 
echo d3 >d4 && git add d3 && git commit -m d3 
git checkout master 
echo m1 >m1 && git add m1 && git commit -m m1 
echo m2 >m2 && git add m2 && git commit -m m2 
echo m3 >m3 && git add m3 && git commit -m m3 
git checkout devel 
git rebase master 

UPD理應有這樣的互動變基時做擠壓的提交。

回答

0

這是(在sed腳本交換最後兩次提交):

#!/usr/bin/env bash 
set -eu 
rm -rf 1 
mkdir 1 
cd 1 
git init 
echo 1 >1 && git add 1 && git commit -m 1 
echo 2 >2 && git add 2 && git commit -m 2 
echo 3 >3 && git add 3 && git commit -m 3 
echo 4 >3 && git add 3 && git commit -m 4 
echo 5 >3 && git add 3 && git commit -m 5 
script=`mktemp` && trap 'rm "$script"' EXIT 
cat >"$script" <<\SCRIPT 
#!/usr/bin/env bash 
set -eu 
sed -i -rn ' 
    /^pick.*(4|5)$/!p 
    /^pick.*4$/{x;b} 
    /^pick.*5$/{p;x;p} 
' "$1" 
SCRIPT 
chmod u+x "$script" 
EDITOR="$script" git rebase -i HEAD~4 # GIT_SEQUENCE_EDITOR may be used in newer versions