2011-12-20 117 views
4

我們正在Werner 2008機器上專門開發Windows機器和主機MSysGit。我們使用Redmine(BitNami Redmine Stack)作爲我們的問題跟蹤/項目管理系統。如何修復Windows Git存儲庫中的大小寫敏感問題

儘管我們對於Git和開發機器沒有任何問題,但由於看起來像案例感知性問題,我們在Redmine中顯示版本庫時會遇到問題。

的管理平臺庫顯示的是「重複」(當然不是重複完全相同)樹下面,可能是由於一些文件被COMMITED用小寫路徑(出於某種原因不明我)

+-Develop 
| | 
| +-Library ..... 
| | 
| +-AutomatedTests ..... 
| 
+-develop 
    | 
    +-library ..... 

這枚並不是生命危險的克隆,並且對Windows的檢出沒有這個問題,因此在Redmine中瀏覽代碼相當麻煩。

是否有一個(容易考慮它是一個非常大的存儲庫)的方式要麼 a)使redmine案例顯示樹時無意義。 或 b)訂與下殼路徑(我們統一使用駱駝情況)

回答

2

你有沒有嘗試添加在.git/configignorecase = true這個問題?

+0

已經設置爲true,我認爲這可能是Redmine顯示的方式,我知道它拉扯git變更集並根據它們填充MySql表。所以,也許是由於Redmine/MySql將路徑視爲不同的地方,Windows不會這樣做,所以我的問題實際上是我做了些什麼來改變Redmine,或者我開始重新命名GIT中的文件? – 2011-12-20 23:14:58

+0

git config中的ignorecase用於區分文件時的大小寫比較 – 2014-05-16 15:48:47

+0

@RobertChrist實際上,'ignorecase'確實使git能夠查看文件名大小寫更改。我剛剛在幾分鐘前證實了這一點。但是,如果您在Windows資源管理器中進行重命名,則解決問題還不夠。 (因爲它只是使它看到新文件,因此導致回購中有兩個版本,而不是將其識別爲簡單的重命名/案例更改) – Venryx 2017-04-07 09:14:55

0

Redmine會將這些視爲不同的地方。即使您忽略了大小寫,但在進入目錄和指定文件時總是使用tab-complete。使用git filter-branch來固定外殼。這將改變所有參考點的位置,但在這一點上它可能是一件好事。

+0

我們使用toolkit tortoise git client&smartGit客戶端,並且只在命令行時才使用必需的,並且從來沒有使用git tab-completion,所以不知道這有什麼好處。 – 2011-12-21 20:05:03

+0

好處是,如果製表完成,您將擁有一致的命名並且不會有重複。 – 2011-12-21 20:16:47

+0

不幸的是我不能在我們的開發團隊中強制執行。此外,我們需要保留所有文件歷史記錄,而不需要在日誌中追蹤以便通過重命名來追蹤歷史記錄(嗯,這些都在理想的世界中,否則我可能會考慮修補redmine顯示) – 2011-12-21 20:40:19