2013-10-30 29 views
2

我有一個由TortoiseGit建立的git倉庫,它從所有遠程分支中獲取更新,而不管它在本地是哪個分支。Tell TortoiseGit將全部起源

git.exe pull -v --progress  "origin" 

但當我該倉庫目錄複製到另一個目錄,並有TortoiseGit創建一個全新的分支,其拉命令將其範圍縮小到只是分支。

git.exe pull -v --progress  "origin" test 

我在TortoiseGit中找不到任何控制此行爲的東西。應該怎樣恢復這個配置?

回答

0

我打開了一個Git bash控制檯來運行一個普通的拉,它提到這個目錄的主分支是而不是被跟蹤。我不知道TortoiseGit和原始Git之間的行爲差​​異。

$ git的拉

遠程:計數目標:32進行。

遠程:壓縮對象:100%(23/23),完成。

遠程:總計23(增量19),再使用0(增量0)

開箱對象:100%(23/23),來完成。

從bitbucket.org:repository

50bf7c6..a08a735主 - >產地/主

沒有爲當前分支沒有跟蹤信息。

請指定要合併的分支。詳情請參閱

git pull <remote> <branch> 

混帳拉(1)如果要設置這個分支跟蹤信息,你可以這樣寫:

git branch --set-upstream test origin/<branch> 

於是我就建議

user @ MACHINE/D/Projects/test_branch(test)

$ git branch - 設置上游測試來源/測試

分支測試設置爲從原點跟蹤遠程分支測試。

之後,TortoiseGit似乎現在能夠拉動更廣泛的範圍。

git.exe拉-v --progress「原點」

雖然已經實現了我是希望,我沒有基本理解正確知道爲什麼TortoiseGit的行爲方式是這樣。

+0

TortoiseGit有幾種方式可以在Git學習命令行時將新來的人混淆,這就是其中之一。它推斷分支「master」,默認分支名稱,而命令行git不會爲你做。換句話說,如果你推送到你的遙控器,它會推到你的起源/主人;但命令行git會抱怨這個分支沒有被跟蹤,並且你需要明確地設置一個默認值,或者明確地說出你想推送的位置。你基本上應對了功能上的差異。這太糟糕了TortoiseGit不只是爲你設置這個。 –

0

那些分支是否被跟蹤?

git branch -vv 

例如,如果你想跟蹤當地分支機構test與遠程分支test

git branch -u origin/test test 

然後你就可以執行git pull

+0

它正在跟蹤測試分支。問題是我希望它不僅僅是測試分支,也就是它最初分支出來的開發分支。由TortoiseGit發出的「git pull」命令只會縮小拉到不想要的「原點測試」;我更喜歡它是原來的範圍,這是更廣泛的「起源」。 – icelava