我有一個根文件夾,其大小爲GBs
。很多是build
的東西。 我只想在根目錄下源代碼控制文件夾code
,而且只有*.c
*.h
文件在其中。在code
中還有其他項目和解決方案文件,如*.sln
。git忽略所有文件類型期望子文件夾中的特殊類型
我.gitignore
文件是:
*
!/code
!.gitignore
!/code/**/*.h
!/code/**/*.c
git add .
和git status
顯示
$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .gitignore
new file: code/a.c
new file: code/a.h
雖然,這個工程的文件夾code
但它不爲code
任何子目錄工作。我也有*.h
和*.c
文件在code/f1
和code/f2
之內等等。
我的git --version
是git version 1.9.5-preview20150319
。我在窗戶上。
如何實現這一目標?
您應該**重新考慮您組織代碼的方式。將* all *添加到'.gitignore'中,然後異常(包括'.gitignore'本身)在我看來就像是將所有構建材料放入單個文件夾(「./build」?)你將它添加到'.gitignore',以及你想忽略的文件類型('* .exe','*〜'等) –
@KeillЯandor我的代碼有'build'和其他'code'和'code2 '文件夾..這是很好的。我只是沒有提到要減少問題的複雜性。真正的問題是,如果我不能有選擇地刪除'.sln','.txt'代碼中的什麼不是..文件。所以我應該如何編寫我的'.gitignore'文件。 'code'中有很多這樣的文件.Git在某些操作中需要時間,然後在大回購中。 –
我不知道我是否理解你的問題。您**可以**選擇性地刪除整個項目中的某些文件。例如,爲了忽略「.o」文件,只需將'* .o'添加到'.gitignore' –