2013-07-08 203 views
1

如果我在與master合併後推送到分支,git將如何處理它(自動更新分支中推送的最新提交到master或者什麼也不做或執行其他操作)?git推到分支後合併

回答

3

合併後,你仍然有2個分支,您從合併的之一,並確保合併之一,通常是你仍然活躍的分支。

新的提交將轉到檢出的分支,即主或其他分支。

注意,我們不推到一個分支:我們承諾一個分支,推送分支到遠程倉庫。我們不更新提交,我們添加新的提交到存儲庫。提交從不更改。

加法 - 當然,你仍然可以推到「舊」分支。並再次合併到主人:

A - B - - - E - G  [master] 
    \ //
     C - D - F  [issue_202] 

但我寧願創建一個新的分支來解決問題。這是一個工作流程的問題。假設這項工作是基於tiket的,那麼在您合併爲主人之前,issue_202票證將在之前解決,然後。所以,我認爲,額外的工作是不是就issue_202一個修復,但對主分支修復,所以我將創建一個新的機票和一個新的分支來解決的問題:

   F  [issue_202_1] 
      /\ 
A - B - - - E - G  [master] 
    \ / 
     C - D   [issue_202] [ 
+0

謝謝@Andreas_D,我會給出更多的細節來解釋我的疑問。我在分支'issue_202'中解決了一些問題,並將分支推送到遠程。現在,分支與主人合併,但我在合併之後收到了對分支'issue_202'中修復的更多評論。我的疑問是,我應該檢查'branch_202'並解決問題,或者檢查一個新的分支,比如master_ branch_202_dot_1,解決問題並推動分支掌握? 我的基本問題是合併後我們可以承諾分支並推送到遠程?如果是的話,那麼它又將如何與主人合併? – vikas

+0

@twalberg - 是的,你是對的。我在那一點上改變了我的答案。當然,只有活動分支接收到合併提交,另一個當然不受影響。 –

+0

是@Andreas_D,我爲issue_202_1創建了一個新分支 – vikas

0

在Git中,一提交是您的存儲庫的快照,以及指向一個或多個父級以及一些元數據(如作者和提交消息)的指針。

A 分支是指向某個提交的指針。而已。

當你推送一個分支時,你更新了遠程的指針,指向與你相同的提交。此外,您的本地回購和遠程回購協商遠程缺失的快照並將其發送到遠程。否則,新更新的遠程分支會指向一個它一無所知的提交。

所以,如果你推一個分支,只有那個遠程分支會改變。所有其他遠程分支都將指向與之前完全相同的提交。也就是說,git-config(1)push.default可以很容易推動超過您的預期。我建議git config --global push.default nothing

你應該更多地閱讀Git Branching