2017-07-10 103 views
0

當我從GitLab複製回本地代碼時,它與源代碼一起還在根文件夾中調用了一個文件.gitignore。 還有一個名爲.git的文件夾,其中包含info中的一個目錄,其中包含一個名爲exclude的文件。 哪一個是忽略(對我來說忽略和排除意味着相同)?這是忽略還是排除?.git/info/exclude和.gitignore之間的區別

+1

忽略什麼vs排除什麼?這兩個文件都有其用途,但您不清楚您要查找的目的。 –

+0

你不應該碰到'.git'中的任何東西。 '.gitignore'是你正在提供的東西。 '.git'文件不應該被手動修改。 –

+1

@MadPhysicist我認爲這個問題很清楚。 newb7777只是想知道兩個不同文件的目的是什麼。 – klutt

回答

-1

雖然問題不是哪個更好「的.gitignore」或‘信息/排除’,有一點要注意的是‘gitignore’被瞬間比排除。它在聲明過程中立即生效,而克隆存儲庫時「gitignore」在開始時生效。

4

它們都包含「忽略規則」 - 匹配未跟蹤文件應忽略的文件名模式。

區別在於.gitignore中的規則是通過回購共享的,而info/exclude中的規則不是。因此,如果由於某種原因,您需要在本地忽略單個克隆中的某些路徑,則可以使用info/exclude;但是,如果路徑應該所有克隆被忽略,你會用.gitignore

+0

要清楚:克隆repo *時獲得的'info/exclude'文件不是*原始文件中相應文件的副本。它是由git新創建的,用於放置特定於新克隆的規則。 –

+0

是的,這是正確的。當我從遠程回購克隆回購時,排除是新創建的。 '.gitignore'是GitLab中的一個。 – newb7777

+0

如果你有兩個文件在本地repo中,'.gitignore'和'info/exclude'哪一個優先?當您將其他人存儲庫克隆到本地存儲庫並使用排除列表更新了您的「info/exclude」文件時,可能會出現這種情況。 – newb7777