2017-08-31 93 views
0

我從我的主分支創建了一個新的本地分支,名爲V_2。當我提交更改並將它們推送到原點時,它們會被推送到原點/ V_2。 如果我現在結帳到我的主分支,並嘗試提取更改,它認爲主分支已經是最新的,因爲它試圖從原點/主設備拉出。用Git推動和拉動

有沒有辦法只是有一個起源,所有的東西都推到或我缺少一些基本的git?我對git真的很陌生,好像我想念一些東西。

+1

拉不合並分支到其他分支。閱讀git書,並尋找合併和重組。 –

回答

1

由於您對新分支(master以外的其他分支)進行了更改,因此如果需要master中的更改 - 則需要合併它們。

$ git merge V_2 

當你$ git pull,它在當前已簽出分支拉(假設上游設置正確),除非明確說明。例如: - $ git pull origin <branch>

有沒有辦法,只是有一個起源

「原產地」只是遠程的名稱。

在哪裏一切都被推到或我缺少一些基本的混帳?

我想你錯過了git的「分佈式」本質。分支在git中非常便宜。爲事物創建分支,並在完成時合併它們。

1

那麼如果你沒有做任何改變主(你的描述似乎你沒有),那麼顯然沒有改變。您對另一個分支進行了更改:V_2。

如果你想包括V_2做成主的變化,你需要合併的V_2支進主分支。要做到這一點:

  1. 結帳主:git checkout master
  2. 確保您的本地master分支上最新與遠程主:git pull
  3. 合併V_2進入主:git merge V_2

我回答了你的問題,但是你似乎對GIT缺乏一些基本的瞭解。我建議你閱讀一些很好的教程。瞭解GIT的工作原理非常重要,因爲它是一個分佈式系統,它可能首先是違反直覺的。

要記住的最重要的事情是,每個分支總是有兩個「版本」。本地的(在你的機器上)和遠程的(GIT服務器 - 在你的情況下,由起源)。當您將本地分支首次推送到服務器時會創建遠程分支。這兩個分支(本地和遠程)可以在任何時候處於不同的狀態,因此在對其執行任何操作之前,務必確保您擁有本地分支的最新狀態。這就是你用