我正在使用Gedit,每次保存文件時,Gedit都會創建它的一個副本,並且副本的名稱總是以〜結尾。問題是,Git總是試圖追蹤這些文件,而我不想那麼做!有沒有辦法仍然能夠使用git add .
,但只添加那些不以〜結尾的文件?如何讓git跟蹤所有以「〜」結尾的文件?
回答
你想要一個gitignore file。
如果你想覈對以波浪號結尾的所有內容(這應該是安全的;我無法想象一個合理的使用情況,那裏不好),請確保以下行在你的.gitignore
文件中你的回購的文件夾層次結構:
*~
如果也想擺脫那些波浪號文件的本地文件系統奠定左右,你可以。最好讓Gedit將其備份文件放在別的地方。 JEdit和VIm,我使用最多的兩位編輯,have such settings,而且將它們放在別的地方比加載gitignore要乾淨得多。
不幸的是,Gedit沒有這個選項。最好的辦法是關閉~
備份。 在您擔心之前,最糟糕的情況是您丟失了immediately before you saved文件中的內容。這不是最壞的情況 - 這就是爲什麼你在git repo中得到這個,對吧?
注意:如果要在本地保留~
後綴文件,請執行。上面設置的.gitignore會使你不小心分享它們。
You can turn off ~
suffixed backups like this
爲了防止Gedit的在將來創建這些備份,打開Gedit的,打開Preferences對話框(編輯>首選項),選擇編輯器選項卡,去掉勾選的「創建保存前文件的備份副本「選項,然後單擊關閉。做完這些之後,Gedit將不再使用替代品來替代。
爲什麼要關閉備份?過去他們救了我無數次。 – suvayu 2012-08-06 14:00:43
好吧,顯然要去掉痣,但我同意你的看法(見上文)。我想找到一種將所有備份文件移動到特定目錄的方法,例如在VIm中(例如,我在Windows的vimrc中使用'set backupdir = C:\\ vimBackups'),但似乎沒有爲Gedit而存在。但看到上面。 *固定*。 – ruffin 2012-08-06 14:07:29
匿名downvoter - 謹慎解釋?現在有更好的方式讓Gedit保存不會在文件系統中留下文件的備份文件嗎? – ruffin 2013-12-23 15:04:22
gitignore是要走的路。只需在您回購的根部添加*~
至.gitignore
即可。
這是一個更好的解決方案,因爲它很難將每個程序配置爲不創建'〜'文件(例如emacs)。 – 2016-03-02 17:37:17
@TahirHassan但更好的解決方案...比什麼?我建議的第一件事是創建一個.gitignore文件。如果你還*想清理你的本地回購,所以它沒有'〜'文件,我*還*解釋如何做到這一點。 ; ^)你真的不是在沒有網球的情況下這樣做。你只用一個波形文件保存一個編輯,當你已經使用git時,這不是很實際的幫助。也就是說,@filmor的確打我說OP應該使用.gitignore幾秒鐘...... – ruffin 2016-09-06 00:00:18
何苦添加.gitignore
文件時,您可以編輯明文文件.git/info/exclude
。 https://www.kernel.org/pub/software/scm/git/docs/gitignore.html
「在決定是否忽略路徑,通常Git從多個源檢查gitignore模式」如果在.git/info/exclude
文件在你的git倉庫添加*~
一條線。 Git會忽略該模式和所有以tildes結尾的文件。
爲什麼這是低調? – 2015-06-16 05:06:16
我不是一個投票者,但它是一個不好的答案,「.git」文件夾不與所有存儲庫用戶共享,.gitignore文件(默認情況下,它可能會在特定項目中更改。 )。 通常*〜文件是臨時備份文件,您不希望任何人錯誤地添加它們,因此應該爲所有存儲庫用戶設置它們。 – user2326568 2016-01-27 09:12:56
要添加到什麼@filmor說,你可以創建一個全局gitignore文件,以便所有存儲庫將忽略備份文件:
git config --global core.excludesfile ~/.gitignore_global
這將讓Git在$ HOME路徑尋找一個.gitignore_global
文件,您可以在其中放置*~
規則。
- 1. 如何讓Mercurial列出跟蹤爲符號鏈接的所有跟蹤文件?
- 2. Git沒有跟蹤文件
- 3. 如何讓git不能跟蹤大文件歷史記錄?
- 4. 如何使用Git跟蹤.txt文件?
- 5. 什麼是GIT中的跟蹤文件和未跟蹤文件?
- 6. git clean只跟蹤文件
- 7. git創建以〜?結尾的文件
- 8. Git添加修改,刪除和未跟蹤的所有文件?
- 9. 如何禁止git提交如果有未跟蹤的文件?
- 10. 如何讓現有的git分支跟蹤遠程SVN分支?
- 11. 如何查找以.rb結尾的所有文件?
- 12. 如何刪除所有以〜Emacs作結尾的文件
- 13. 如何在svn中添加所有未跟蹤的文件?像git add -i?
- 14. Git跟蹤點文件(例如:.zshrc)
- 15. 將跟蹤的文件移動到未跟蹤的git
- 16. 如何在jboss中寫入跟蹤以分離跟蹤文件
- 17. 如何使用Git跟蹤目錄但不跟蹤他們的文件?
- 18. 如何忽略以〜在git結尾的文件?
- 19. 如何忽略以git結尾的文件?
- 20. 對composer.lock文件的Git跟蹤
- 21. git add後未跟蹤的文件
- 22. git跟蹤一個文件的變化
- 23. 讓git master跟蹤/跟蹤另一個本地分支
- 24. 我該如何讓git顯示正在跟蹤的文件列表?
- 25. 讓git不要顯示未跟蹤文件
- 26. .gitignore和git rm --cached不會讓文件不被跟蹤
- 27. 如何跟蹤所有的堆分配?
- 28. 如何跟蹤所有的消息
- 29. git:如何忽略所有目前未追蹤的文件?
- 30. 如何讓git根據.gitignore(從頭開始)跟蹤和提交文件?
不,不需要Arthur Denting。據我所知,這是有效的gitignore .gitignore;我通常這樣做。 – ruffin 2012-08-06 14:20:44
Re:編輯。忽略.gitignore並不是一個好主意。我很確定這些設置可用於克隆回購庫的任何地方。我們把我們的忽略放在版本控制中,並且非常高興,因爲只有一個開發者需要設置它。 – 2012-08-06 14:40:19
謝謝@MarcinK,我沒有想到這一點。 – corazza 2012-08-06 14:58:09