2015-08-26 62 views
1

我的合作開發者提出了很多關於他的遠程gitlab倉庫的變化:合併,刪除,創建新的分支機構等Git不會顯示所有分行

現在我需要一個新的特性分支,他的工作剛創建。我打開我的Gitbash,做到:

git pull [email protected]:root/project-name.git 
git checkout new-feature 

我得到error: pathspec 'new-feature' didn't match any file(s) known to git.

然後我嘗試:

git show-ref 

這隻能說明兩個分支,而它應該顯示至少8 我也嘗試過取其沒有任何區別。

這些文件是否真的丟失或者它不是跟蹤新的分支? 如何獲取新分支到我的本地工作區? git clone解決它還是隻會讓它變得更糟?謝謝。

更新:感謝您的幫助,不幸的是,這兩個建議都沒有奏效,我不得不刪除所有東西,從頭開始設置並做一個新的git克隆。我們查看了錯誤日誌,但沒有找到任何線索。我想這只是其中一件事。

+0

你問過你的同事是否把他的新分支推到'origin'?如果是這樣,你有沒有嘗試過'git pull origin new-feature'? – NuclearPeon

+0

'git branch -a'告訴你什麼? – Jubobs

+0

'git pull [email protected]:root/project-name.git' - 是否可以工作? –

回答

0

你可以嘗試讓遠程

git checkout origin/branch-name 

分支此外,我們使用網絡圖中gitlab UI巨資來檢查任何不一致與分支。

+0

謝謝,當我這樣做時,我得到了和以前一樣的pathspec錯誤。剛剛登錄檢查他的gitlab儀表板和網絡部分看起來合乎邏輯。我可以看到所有8個分支。儘管如此,我只能在我的機器上訪問兩個。 –

0

你需要給一個名稱庫第一:

git remote add somerepo [email protected]:root/project-name.git 

然後,當你做一個拉git會存儲在somerepo /新特性的遠程跟蹤分支,當你這樣做git checkout new-feature它會創建一個新的地方分支基於此。

當你做git pull <url>只有HEAD被提取,它存儲在FETCH_HEAD,這可能不是你想要的。

0

我知道這是一個古老的線程,但我偶然發現它,因爲我有同樣的問題。在檢查'man git'之後,我發現'git fetch'有訣竅。因此,對於將來可能遇到此主題的任何人:

  1. 轉到終端。
  2. 導航到項目目錄。
  3. 輸入git fetch

作爲git fetch狀態的描述:

取分支和/或標籤(統稱爲「參考文獻」)從一個或多個其他存儲庫,與要完成它們的歷史的對象。遠程跟蹤 分支已更新(請參閱下面的說明以控制此行爲的方法)。