2013-05-04 88 views
5

我願做這樣的事情:當前分支和它追蹤的分支的任何Git快捷方式?

$ git fetch origin 
$ git rebase -i origin/a_very_very_very_long_branch_name 

在哪裏,我的本地分支的名字是a_very_very_very_long_branch_name相同。

因此,當我執行這種命令時,我不想一次又一次地複製並粘貼長分支名稱。

在Git中有沒有當前分支名稱的快捷方式?

+0

設置如果標籤了,它應該自動完成你的分支名稱。 – wakooka 2013-05-04 05:22:21

+0

@ jerome.s是的,但我有,或者說,這個項目有太多的分支(我知道它不好,但C'est La Vie;()。所以我仍然在找到「快捷方式」 – 2013-05-04 05:26:44

+0

你可能想試試git-completion https://github.com/git/git/glob/master/contrib/completion/git-completion.bash – 2013-05-04 05:28:46

回答

4

在你的具體的例子,如果你的分支正在跟蹤遠程分支,你可以做

git fetch 
git rebase -i 

不帶參數。

如果您的分支不跟蹤遠程分支,可以通過做

git branch -u origin/a_very_very_very_long_branch_name 
+0

非常感謝! – 2013-05-04 07:49:02

+0

儘管它在提供的_example_中可用,但它並不完全是所要求的:「當前分支名稱的快捷方式」。 (我知道TO有一個X/Y問題,因爲她/他實際上想知道上游/遠程分支的名稱,但由於文本清晰且問題很舊,所以我會忽略它。) – 2017-07-28 15:49:55

2

你總是可以創建一個別名來對原點/當前分支進行rebase;

git fetch ; git rebase -i origin/$(git rev-parse --abbrev-ref HEAD)

或者,如果你不特別需要底墊的互動部分;

git pull --rebase

4

如果你的分公司設立於跟蹤同一名稱的遠程分支機構中origin,你可以使用@{u}the manpage gitrevisions指出:

<branchname>@{upstream},例如[email protected]{upstream}@{u}

後綴@{upstream}到分支名稱(短形式<branchname>@{u})是指由BRANCHNAME指定的分支被設置爲建立在頂部的分支。缺少的branchname默認爲當前的。

+0

現在的選擇我可以用'git difftool @ {u}'來區分當前和遠程分支。 – hIpPy 2016-10-14 20:47:23