git switch <branch>允許我移動到現有的分支。
git switch -c <branch>允許我創建一個新分支。
是否有一個命令取決于分支是否已經存在,它會創建一個新分支還是檢查現有分支?
uj5u.com熱心網友回復:
沒有內置任何東西,但很容易定義別名或撰寫腳本:
if git show-ref --quiet "refs/heads/$branchname"; then
git switch "$branchname";
else
git switch -c "$branchname";
fi
也許
git show-ref --quiet "refs/heads/$branchname" || create=-c;
git switch ${create: "$create"} "$branchname"
將其配置為別名:
git config --global alias.sw '!f() { if git show-ref --quiet "refs/heads/$1"; then git switch "$1"; else git switch -c "$1"; fi; }; f'
(或變體 2:)
git config --global alias.sw '!f() { git show-ref --quiet "refs/heads/$1" || create=-c; git switch ${create: "$create"} "$1"; }; f'
然后使用:
git sw branch-to-checkout-or-create
uj5u.com熱心網友回復:
我不知道這樣的命令,但是您可以創建一個別名來為您執行此操作,在此示例中git csw(git show-branch將標記當前分支*并顯示未重置任何分支):
$ git config alias.csw '!sh -c "git switch $1 || git switch -c $1"'
$ git show-branch
* [branch-a] b
! [master] h
--
* [branch-a] b
* [master] h
$ git csw master
Switched to branch 'master'
$ git show-branch
! [branch-a] b
* [master] h
--
[branch-a] b
* [master] h
$ git csw branch-a
Switched to branch 'branch-a'
$ git show-branch
* [branch-a] b
! [master] h
--
* [branch-a] b
* [master] h
$ git csw branch-b
fatal: invalid reference: branch-b
Switched to a new branch 'branch-b'
$ git show-branch
! [branch-a] b
* [branch-b] b
! [master] h
---
* [branch-a] b
* [master] h
uj5u.com熱心網友回復:
git checkout -B <branchname>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/528618.html
標籤:混帐
上一篇:在GIT中構建最后一次提交
