2013-05-30 82 views
11

如果我在一個地方分支是跟蹤任何遠程分支和我發出命令默認的遠程GIT中獲取

git fetch 

鑑於我在$GIT_DIR/config定義了幾個遙控器,從遙控器是取得完成?

我試圖從man page找到,但這一點對我來說還不清楚。

此外:如何在不進行本地分支跟蹤的情況下更改此默認遠程?

回答

2

它將獲取遠程原點。這是您執行 GIT clone命令時的第一個遠程。

+1

您可能從未在回購庫上執行過'git clone',但在事實之後添加了遠程(稱爲'起源'或其他)。 – mwfearnley

15

如果您有多個遠程存儲庫,並且未指定任何遠程存儲庫名稱,則默認情況下將使用origin。如果沒有遠程倉庫命名的由來,那麼它就會因錯誤說

fatal: No remote repository specified. Please, specify either a URL or a 
remote name from which new revisions should be fetched. 

另外:我怎樣才能遠程更改此默認沒有使當地分行追蹤?

您可以將該存儲庫名稱重命名爲'origin'以使其成爲默認值。

小心:如果當前分支已經在另一個遠程上指定了上游,這將不起作用。從git help fetch:「當沒有指定遠程時,默認情況下將使用遠程原點,除非爲當前分支配置了上游分支。」在這種情況下,您可以通過編輯在.git/config中配置的分支的remote字段,將上游分支更改爲使用origin

+2

有沒有其他方法可以將遙控器的名稱更改爲原點? –

+5

讓git假設「origin」是默認的遠程設備有點不靈活。我總是將我的遙控器重命名爲「github」,「internal」等更有意義。是的,當「origin」remote不存在時,git會尖叫「致命的:沒有指定遠程存儲庫」。 – Devy

+1

@KlasMellbourn:你可以設置你的跟蹤分支的遠程使用的是不同於'origin'的遠程,然後當你運行'git fetch'並檢出其中一個分支時默認使用該遠程。 – ntc2

2

在您的項目文件夾中,當您在第一步中初始化git時,會創建.git文件夾。

查看此文件夾中名爲config的文件,它包含所有分支信息。原點被用作默認值。

[remote "origin"] 
     fetch = +refs/heads/*:refs/remotes/origin/* 
     url = [email protected]:project.git 

所以從這裏列出的URL中獲取代碼。