2017-04-19 56 views
1

我當時在我的本地分支feature-branch上工作。我做了提交併將我的本地分支推送到遠程。我做git status而事實證明,git change local ref

Your branch is 6 commits ahead of origin/master 

之後,我切換到另一個分支git checkout another_branch。在這個分支上工作後,我不得不回到我的特性分支,我這樣做,通過git checkout feature_branch

在這之後我做了git status而事實證明,

Your branch is up to date with origin/feature_branch 

此前它與origin/master比較feature_branch。但現在它正在比較自己。我如何改變它以與origin/master進行比較?

回答

3

git status命令會執行一些有用的操作。其中之一是將當前分行的提示與其上游分行的提示進行比較。

你說一次,你在分支feature-branch,和git status相比,origin/master。因此,這意味着feature-branch上游設置爲origin/master,就好像你運行:

git branch --set-upstream-to=origin/master feature-branch 

然後,以後(即現在),你又回到了上feature-branch,但git status它相比origin/feature-branch。因此,這意味着feature-branch上游設置現在爲origin/feature-branch,就好像你運行:

git branch --set-upstream-to=origin/feature-branch feature-branch 

我注意到你提到:

我做提交[上feature-branch]推我的本地分支遠程...

我猜,因爲你沒有這麼一說,該方式你這樣做要運行:

git push -u origin feature-branch 

查看-u在那裏?這告訴git push,如果它成功地推動feature-branchorigin,創建或以其他Git的更新feature-branch到你是推,然後的Git應該變化feature-branch到相應origin/feature-branch,上游就好像你運行:

git branch --set-upstream-to=origin/feature-branch 

可以設置上游回origin/master,但是這通常不是一個好主意。現在有一個origin/feature-branch,你的Git用來記住feature-branchorigin的位置,最好將你自己的feature-branchorigin的那個進行比較。這是因爲現在你有已發佈你的提交,其他人也使用其他Git origin可能已經拿起他們。此外,爲Viktor Seč mentioned,該設置默認爲上游和git mergegit rebase(這是什麼git pull運行下半年)。

如果要比較你feature-branch你自己master只是短暫和臨時,考慮在運行命令:

git log --oneline master..feature-branch 

或:

git log --all --decorate --oneline --graph 

(查看它可以讓所有您分支機構和遠程跟蹤分支,全部一次,具有一定的圖形,以幫助你聯繫的提交)。

1

這取決於upstream。您可以設置爲上行本地分支(服務器)分支

$ git branch --set-upstream-to=origin/BRANCH 

這也設置了默認目標您git pushgit pull

但我不認爲你應該設置本地功能分支來跟蹤遠程主控。

0

爲您的工作周圍,它主要是由於你設置origin/master作爲跟蹤分行feature-branch起初,然後將跟蹤分支爲origin/feature_branch。步驟可以設置/更改跟蹤分支:

  1. 通過git checkout -b feature_branch origin/master創建feature-branch
  2. 您可以通過git branch -vv查詢與當地分行的跟蹤分行關係。爲feature_branch跟蹤分支是origin/master在第一。
  3. feature_branch中進行更改並將其推送到git push -u origin feature_branch的遠程後。
  4. 現在您將feature_branch的跟蹤分支更改爲origin/feature_branch。您可以通過git branch -vv檢查。