兩次在git中,我打算從master分支,但是不小心從我當前的分支中分支出來。這意味着我的第二個分支的請求包括第一個分支中的所有提交,這些提交還沒有被合併。避免從git中的分支跳轉
有沒有一種方法可以在從非主分支分支之前再次檢查確認?
兩次在git中,我打算從master分支,但是不小心從我當前的分支中分支出來。這意味着我的第二個分支的請求包括第一個分支中的所有提交,這些提交還沒有被合併。避免從git中的分支跳轉
有沒有一種方法可以在從非主分支分支之前再次檢查確認?
爲什麼不提供第二個參數來git checkout -b
:
$ git checkout -b newbranch master
第二個參數是從哪裏分支。
如果您運行
git branch
你得到的東西是這樣的:
branch1
branch2
* master
和分支在您當前所在的星痕。
是的,我知道 - 事情是我只是在不考慮它的情況下運行'git checkout -b'。我想要一個自動警告在從分支退房時閃爍。 – 2012-01-08 09:46:32
啊,對不起。 – BananaNeil 2012-01-08 12:33:29
你可以編寫bash腳本,而不是git。
在創建新分支時,它會檢查你是否在主人。 如果沒有,它就會停止(或請您繼續),如果是,它會執行真正的Git
例如,你可以把它稱呼gitcheckout
假設你正在使用Unix類型的外殼,這就是你能適應一個簡單的函數:
function git() {
if [ $# -eq 3 -a "$1" = "checkout" -a "$2" = "-b" ] ; then
curbranch=$(git name-rev --name-only HEAD)
if [ "$curbranch" != "master" ] ; then
echo "You're on branch $curbranch."
echo "Confirm new branch creation? [yn]"
read a
if [ "$a" != "y" ] ; then
echo Aborted.
return 1
fi
fi
fi
/usr/bin/git [email protected]
}
只會在git checkout -b one_other_param
觸發。
注意:如果您處於「分離頭部」狀態,這可能無法按預期工作。我相信git name-rev
不會提供正確的信息。
不錯。當然,你也可以修改它,這樣它只會在當前分支!= master時提示。 – Avi 2012-01-08 12:36:28
將$(__git_ps1)
添加到您的命令提示符(您的shell rc文件中的PS1
變量),並且您將始終看到您當前的分支是什麼。
+1。直截了當,利用現有機制,切中要害。 – fge 2012-01-08 17:22:19