2017-06-06 41 views
1

我在sourcetree這段歷史圖表: SourceTree graph副本的修改原產地/開發原產/主

如何從產地/開發最後提交複製到origin/master的分支?

第二個問題是:圖片中符號「起源/發展」,「主人」,「起源/主人」和「起源/頭」的含義是什麼?

+1

'master'的是當地的這個分支,拷貝'產地/ master'的是遠程跟蹤分行將遵循真實'master'的分支在倉庫中。你應該檢查一個好的Git教程。 –

回答

3

爲推動從開發分支更改主:

  1. 混帳推起源發展

此同步與服務器上的一個地方發展的分支。

從GitLab,使用工具來創建一個pull請求,然後將其合併到主:

  1. 創建一個從開發分支
  2. 合併的開發分支到主

起源拉動請求/ development是對名爲development的分支的引用,它位於名爲「origin」的遠程存儲庫上。當你在本地工作,你可以通過將更改發送到遠程倉庫:

git push origin `<branch>` 

這會爲您創建一個新的本地分行工作。要爲服務器上的現有分支設置遠程跟蹤分支,您需要先運行另一個命令。例如,如果有一個現有的遠程分支叫「發展」:

git branch development origin/development 

如果你想設置的起源/發展從(本地)/發展的上游分支,然後:

git branch -u development origin/development 

這可以讓你推,從產地拉,但沒有明確規定「出身」:

git push 
git pull 

相反的:

git push origin development 
git pull origin development 
1

要將「origin/development」分支上的提交合併到「master」中,您需要將origin/development合併爲master。您可以通過使用命令git checkout master檢出目標分支(主)來完成此操作。

然後您執行命令git merge origin/development的合併。在成功之前,您可能必須解決合併衝突。

回答第二個問題:符號是源代碼樹的Git「分支」。起源/主人和起源/發展是所謂的遠程分支。它們代表遠程Git存儲庫的最新已知修訂版本 - 在本例中爲「origin」。您當地的分支機構主人和開發人員是您當地的這些分支機構的副本

正如你似乎並不具備的混帳的入門級概念的把握,我強烈建議你閱讀Git Book - 它會磨你的基礎知識,然後建立到更高級的概念。

+1

不會有任何合併衝突,因爲'origin/master'不包含任何不在'origin/development'中的提交。 –

+1

是的,我知道@DavidScarlett - 我只是想知道現在合併衝突是一件事情,因爲它下一次肯定會發生。有一個很好的機會,OP還沒有在一段時間內完成「提取」,所以下一個問題可能是關於如何解決它們。 – s3raph86

1

origin/developmentorigin/master是遠程跟蹤分支,表示origin服務器上的developmentmaster分支的狀態。你不直接修改這些,而是​​當你從originpullfetch得到更新。

要更新它們,您需要將所需的更改提交到本地developmentmaster分支,並將這些更改推送到origin。但首先,請執行pullfetch以確保您正在使用兩者的最新版本。

在這種情況下,一個簡單的快捷鍵。將您的分支機構變更爲masterreset --hardorigin/development,這迫使當地master到的origin/development的當前狀態,然後推到原點,這將導致origin/master接收所有額外的提交(從origin/development)現在出現在您的master。請注意,這僅適用於origin/master不包含任何尚未在origin/development中提交的提交。