2017-07-18 109 views
-1

你好,我是新來的混帳,我不能完全理解.gitignore。gitignore如何工作?

假設我目前有一個Master文件夾,裏面有一個報告文件夾,我並不需要跟蹤。

Master Folder 
| 
+-- file 1 
|  
+-- dir 2 
| | 
| \-- file 2.1 
|  
+-- dir 3 
| | 
| +-- file 3.1 
| \-- file 3.2 
|  
+-- Reports 
| | 
| +-- file 4.1 
| \-- file 4.2 

現在,我想修改該文件夾,以便我在倉庫克隆主文件夾。報告文件夾是否也被克隆?

在我編輯時,有人在報告文件夾中添加或更改了文件。

完成編輯後,我需要將主文件夾更新爲我更新的內容。如果我推動我的更改,它會影響主文件夾中的報告文件夾?

+0

請參閱文檔上的[忽略文件和文件夾](https://stackoverflow.com/documentation/git/245/ignoring-files-and-folders)主題。 - 你真的嘗試過嗎?在問這個問題之前,你讀過關於忽略文件的任何內容嗎? – poke

+0

您似乎也誤解了Git的工作原理:更改不會自動添加到您的存儲庫。只有您添加的那些更改,然後* commit *纔會將其存儲到存儲庫中,並稍後進行克隆。考慮閱讀[Git Book](https://git-scm.com/book/en/v2/)。 – poke

回答

0

您必須創建的.gitignore命名您的主文件夾中的文件,並在您的.gitignore文件中寫入以下行:

Reports/ 
現在

,如果你把你的主文件夾,然後git會不會跟蹤報告夾。

+0

更好地編寫'/ Reports' –

1

在將報告提交給主設備之前,請確保在項目的根目錄中創建了一個新的.gitignore文件。完成此操作後,將文件夾或文件的路徑包含到gitignore文件中。確保每行指定一個路徑。

在你的情況下,如果你想忽略你的報告文件夾中的所有文件,那麼把下面的內容添加到.gitignore文件中。

/Reports 

如果要排除特定的文件,你可以這樣做

/Reports/*.docx 

假設THST上的報告是混合的文件擴展名,但要忽略從文件夾中的所有Word文件報告。

關於克隆,如果有人試圖克隆該項目,他將不會得到任何報告文件,因爲他們沒有在第一時間提交。此外,在Reports文件夾中做任何更改都不會被git跟蹤。

0

在文件夾的根盤中創建一個新的.gitignore文件,並添加要從中排除的文件擴展名或目錄路徑。 對於前:

.idea 
.DS_Store 
*.iml 
src/main/resources/config.config 
src/main/resources/conf/local 
/target 
screenshots/ 
/Reports 

喜歡聰明人,你可以添加文件名或要排除的擴展。 gitignore文件中的每一行指定一個模式。在決定是否忽略路徑時,Git通常會檢查來自多個來源的gitignore模式,並按以下優先順序從高到低(在一個優先級內,最後一個匹配模式決定結果):

模式讀取從那些支持它們的命令的命令行。

從a。gitignore文件放在與 路徑相同的目錄中,或者在任何父目錄中,文件(直到工作樹的頂層)中的模式被低層文件中的那些 覆蓋,直到包含文件。這些 模式相對於.gitignore文件的位置相匹配。 A 項目通常在其存儲庫中包含這樣的.gitignore文件, 包含作爲項目構建的一部分生成的文件的模式。

從$ GIT_DIR/info/exclude中讀取的模式。

從配置變量core.excludesFile指定的文件讀取模式。