2014-04-15 72 views
1

我遇到了排除某些二進制文件的問題。我只是試圖讓Git通過「排除」文件忽略它們,因爲我從來沒有和他們一起工作。但我似乎無法讓它工作。這是背景。我正在使用Windows,但我的團隊大多數人都在Mac或Linux上工作。有幾個同名的jpg文件,但大小寫不同。理想情況下,我們應該更改文件的名稱,但我正在一個相當大的團隊中工作,這並不像您想象的那麼容易。Git排除文件似乎不排除更改的文件

因爲我從來沒有使用這些文件,我試圖從Git的視圖中將它們從本地排除。我首先使用兩種大小寫版本將文件名添加到排除文件中(完整路徑直接從我從Git獲得的消息中警告我在檢出另一個分支之前需要提交的更改文件)。由於這不起作用(我仍然得到相同的錯誤信息,不能更改分支)我試着簡單地將* .jpg添加到排除文件。仍然沒有運氣。

我讀到你需要刪除被跟蹤的文件。所以我試了

git rm --cached filename 

再次使用這兩種情況下的文件版本。但是這顯示文件在未提交的更改中被刪除。如果我提交這些刪除,然後同步,是不是會刪除所有人的文件?

我也試過

git update-index --assume-unchanged filename 

再次,用在兩個文件名稱。但是這似乎沒有任何影響。

我從我的研究中知道,在Windows上這個重複的文件名問題是一個有點令人頭疼的問題,許多處理它的常用git方式不起作用。但我會認爲只是告訴git排除文件(或在這種情況下的整個文件類型)將工作。我甚至試圖排除整個目錄(dir1/dir2/images/*),但這也不起作用。我只是不知道爲什麼排除文件似乎沒有工作。

+0

請發佈您的排除文件! – bezzoon

+0

我在排除文件的頂部留下了評論,但否則它只是: * .jpg – user3521590

+0

因此,不要推刪除,只是推新的排除文件? ...這種方式沒有人擔心刪除,人們不會再推動.jpgs =)! – bezzoon

回答

-1

不要推刪除!

推送新的排除文件!

所以沒有人擔心刪除和人們不會再推動.jpgs =)!

然後找出如何擺脫人民機器的jpgs,如果它很重要!

+0

我只想排除在本地。其他人使用jpgs。我認爲排除只適用於本地排除。它不會在任何地方顯示爲已更改的文件(大概是因爲它僅適用於本地排除)因此,我怎麼能推它呢?我錯過了什麼嗎? – user3521590

+0

所以只是不要推刪除? .git/info/exclude文件是本地的! – bezzoon

+0

如果我提交刪除,然後進行其他更改,我將不得不以某種方式在我同步時退出它們。如果我不提交刪除,它不會允許我切換分支。所以看起來我有點卡住了。我實際上正在考慮嘗試Git認爲的「變化」。然後在推出之前,進行回滾並將該特定文件提交出來。然後重新提交所有其他文件,然後推送。看起來很麻煩。似乎應該讓Git在本地忽略「更改」。 – user3521590