2017-04-24 88 views
0

我仍然在學習git並獲取它的竅門。我只想在本地忽略文件到我的工作流程。我已經閱讀了很多Q &就像這裏和git文檔一樣,但他們沒有提到或解釋如何創建和訪問.git/info/exclude文件以修改它。我沒有這個文件,或者至少它不在git的根目錄中,當我打電話ls -la命令查看我的本地存儲庫中的所有隱藏文件。我只看到.git,.gitignore和在存儲庫中看到的其他文件。如何創建/添加到.git/info/exclude文件以在本地忽略文件?

還有其他系統文件在每次編輯文件並對其進行編輯時都會一直顯示爲已修改。我最終不得不每次存儲它以便能夠提交/推送到遠程存儲庫。

我試過使用像nano .git/info/exclude,cat .git/info/exclude這樣的命令,假設我必須創建一個使其工作,但它說Error: No such file or directory。那麼,如何訪問該文件以開始在本地忽略它們,以使我的工作流程更輕鬆,更乏味?

而且,我跑的命令cd .git,我看到.git目錄內的一些文件(但沒有info/exclude文件夾):

enter image description here

注:我知道git update-index --assume-unchanged <file>git update-index --skip-worktree <file>其他手段忽略本地文件,但我有興趣知道如何使用.git/info/exclude的方式。

+1

重新您最後請注意:如果你可以'git的更新索引--skip-worktree ''然後' *是在索引現在*,因此*不能被忽略*。忽略條目,無論放在哪裏,現在都不起作用,因爲該文件路徑名稱位於索引中。 – torek

回答

3

有兩件事情:

首先,您很可能希望使用.gitignore而不是.git/info/exclude。它做同樣的事情,除了它被檢入回購和版本以及所有的工作文件。在大多數情況下,這將是所需的行爲。如果您使用.git/info/exclude,那麼只有該存儲庫的特定克隆將忽略指定的路徑,並且如果忽略規則隨您的代碼演變而改變,那麼您將無法跟蹤哪些規則與)

但是,如果你真的想用.git/info/exclude ......好吧,你把它當作單個文件名來處理,但是(每個* NIX約定,它通過大多數git文檔佔據主導地位) )/是一個路徑分隔符。所以在你的回購中你看到.git。然後

cd .git 

,如果你做一個ls有可能會看到info。如果沒有

mkdir info 

然後你可以cd info和創建文件exclude

+0

謝謝。什麼類型的文件是'exclude'?是一個'.txt'? – TheAmazingKnight

+1

文件類型和擴展名實際上是兩個不同的問題(儘管有Windows約定)。它的類型是純文本;它沒有文件擴展名。 –

+0

好的,謝謝。在Mac上,我只需使用'touch exclude'命令創建文件,而無需命名任何擴展名。 – TheAmazingKnight