gitignore 使用中注意的問題

2022-08-14 08:48:08 字數 1454 閱讀 1038

在git中如果想忽略掉某個檔案,不讓這個檔案提交到版本庫中,可以使用修改 .gitignore 檔案的方法。這個檔案每一行儲存了乙個匹配的規則例如:

# 此為注釋 – 將被 git 忽略

*.a       # 忽略所有 .a 結尾的檔案

!lib.a    # 但 lib.a 除外

/todo     # 僅僅忽略專案根目錄下的 todo 檔案,不包括 subdir/todo

build/    # 忽略 build/ 目錄下的所有檔案

doc/*.txt # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt

這樣設定了以後 所有的 .pyc 檔案都不會新增到版本庫中去。

另外 git 提供了乙個全域性的 .gitignore,你可以在你的使用者目錄下建立 ~/.gitignoreglobal 檔案,以同樣的規則來劃定哪些檔案是不需要版本控制的。

需要執行 git config --global core.excludesfile ~/.gitignoreglobal來使得它生效。

其他的一些過濾條件

* ?:代表任意的乙個字元

* *:代表任意數目的字元

* :必須不是此型別

* :代表ab,bb,cx中任一型別即可

* [abc]:代表a,b,c中任一字元即可

* [ ^abc]:代表必須不是a,b,c中任一字元

由於git不會加入空目錄,所以下面做法會導致tmp不會存在 tmp/*             //忽略tmp資料夾所有檔案

改下方法,在tmp下也加乙個.gitignore,內容為

*!.gitignore

還有一種情況,就是已經commit了,再加入gitignore是無效的,所以需要刪除下快取

git rm -r --cached ignore_file

注意: .gitignore只能忽略那些原來沒有被track的檔案,如果某些檔案已經被納入了版本管理中,則修改.gitignore是無效的。

正確的做法是在每個clone下來的倉庫中手動設定不要檢查特定檔案的更改情況。

git update-index --assume-unchanged path    在path處輸入要忽略的檔案。

另外 git 還提供了另一種 exclude 的方式來做同樣的事情,不同的是 .gitignore 這個檔案本身會提交到版本庫中去。用來儲存的是公共的需要排除的檔案。而 .git/info/exclude 這裡設定的則是你自己本地需要排除的檔案。 他不會影響到其他人。也不會提交到版本庫中去。

.gitignore 還有個有意思的小功能, 乙個空的 .gitignore 檔案 可以當作是乙個 placeholder 。當你需要為專案建立乙個空的 log 目錄時, 這就變的很有用。 你可以建立乙個 log 目錄 在裡面放置乙個空的 .gitignore 檔案。這樣當你 clone 這個 repo 的時候 git 會自動的建立好乙個空的 log 目錄了。

java 列舉使用中注意的問題

通常在需要使用資料集合的時候,列舉便派上了用場。大多數情況下使用列舉的時候無意識的不會去修改裡面的值。那麼列舉中的值到底能不能修改呢?答案是 一旦定義了列舉,最好不要妄圖修改裡面的值,除非修改是必要的。今天遇到的問題就是和列舉相關的,因為之前並不知道枚的物件實際上是單例,導致了非常嚴重的問題 先看下...

PyTorch 使用中注意事項

1.把label要轉成longtensor格式 self.y torch.longtensor y 完整使用 如下 1 class imgdataset dataset 2def init self,x,y none,transform none 3 self.x x4 label is requi...

orcad中注意的事情

1.地的標識不能放到已經分配了網路的線上。在用orcad畫原理圖的時候,把電源放到網路的時候需要特別的注意,如果,將電源地直接放到線上,而這根線又已經被分配了網路標號,那這個地會隨已經分配了的網路號,就是地放不上去。這在實際中,經常會導致多個地的隔離系統出現問題,有的時候,想要把這些地連到一起,而沒...