2009-12-31 106 views
2

在我們的團隊中,我們正在使用開發,分期和主分支以及問題分支。與此工作流程,我發現自己做了很多如下:「git checkout main_branch; git merge topic_branch」的別名?

例如,在開發分支:

git checkout staging; git merge development 

沒有人對此有一個簡單的別名?

它應該是這樣的:

merge_with master 

會做:

git checkout master; git merge previous_branch 
+0

有一個[定爲這對超級用戶(http://superuser.com/a/435912/132009) – koenmetsu 2013-03-21 08:35:37

回答

0

這是那種我的意思是,除了它是什麼還沒有工作。

branch="$(git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/')"; echo "git checkout master; git merge $branch" 

首先它找出當前分支是什麼。然後它使用它來確定要合併哪個分支。

所以,接下來的事情就是找出如何添加一個別名參數...

0
git config alias.thething '!git checkout staging ; git merge $1' 

應該給你一個爲

git thething development 
+0

不幸的是,需要的是合併的分支並不總是same.It應該是這樣的: merge_wit^h主 我會添加到這個問題,因爲該格式不會在這裏工作。 會做: git的結帳主;混帳合併previous_branch – 2009-12-31 08:41:28

+0

看到更新,我已經添加了參數。 – 2009-12-31 09:16:11

+0

事實上,我錯了參數,但你可以將它;-) – 2009-12-31 09:16:48

1

git merge總是在當前分支執行以防萬一的衝突,所以你必須首先檢查分期分支。

但是,如果允許線性歷史記錄,則可以使用git rebase development staging。正如Michael所說,你總是可以製造一個別名。

編輯:添加這的.git/config中會做

[alias] 
    merge_to = !sh -c 'CURRENT=$(git symbolic-ref HEAD) && git checkout $1 && git merge $CURRENT' - 
+0

我只是要求一個別名。我需要將分期與開發合併。爲此,我需要鍵入兩個命令,我認爲一個就足夠了:) – 2009-12-31 08:52:23

2
git checkout master; git merge [email protected]{1} 

您可以將別名分配給使用:

git config alias.mm '!git checkout master; git merge [email protected]{1}' 

這樣git mm將合併的當前分支到主。

0

感謝您的幫助。所有這些都沒有做到我想要的,但是讓我朝着正確的方向前進。

我已將以下內容添加到〜/ .bash_login。對於每個git倉庫「merge_to somebranch」都會做git checkout somebranch; git合併previousbranch。

# Git functions to quickly merge branches 
# e.g. merge_to staging 
function current_branch { ref=$(git symbolic-ref HEAD 2> /dev/null); echo ${ref#refs/heads/} } 
function merge_to  { branch=`eval current_branch`; git checkout "[email protected]" && git merge $branch } 
0

我永遠這樣做,特別是因爲我們的項目之一,我們有幾個微妙的不同的生產分支。部署修復/更新可能會讓您的手指感到厭倦。

對於你所有的Windows bod有:我剛剛創建了一個合併。蝙蝠文件的地方在我的%路徑%,它包含:

git checkout %1 && git merge %2 --verbose 

然後我要做的就是

merge foo bar 

,它運行:

git checkout foo 
git merge bar --verbose 
相關問題