2016-04-08 130 views
0

讓我們說我有一個名爲Dev的分支。結帳開發我會鍵入如何讓git bash分支區分大小寫?

git checkout Dev 

現在有時候,我很愚蠢,並鍵入

git checkout dev 

系統瞭解到,我想簽出本地Dev分支,所以它是指分支和結帳開發但用名字dev。

問題出現在我將其推到原點時。當origin/Dev已經存在時,它會創建一個新的分支源/ dev。

有沒有解決方案?

+0

這裏有一些[文字],也許它有助於理解問題和「解決方案」。 – woopata

+1

Git的構建不是爲了抵禦由不區分大小寫的文件系統引入的混淆和隱患和錯誤。如果你被困在一個人身上,你就會爲自己辯護。蘋果,後來微軟在重用方面做了很多事情,但不區分大小寫的文件名從一開始就是一個爛攤子,從來沒有改進。對於這個問題,我所聽說過的所有可能的修復(缺少修復文件系統)都比問題更嚴重。 – jthill

+0

感謝這些信息,我的團隊以大寫分支開始,所以我必須遵守,他們都使用sourcetree,所以我最終可能會使用gui來保護自己。 – kotsumu

回答

2

你可以創建一個別名爲你做這個,然後總是使用別名。請注意,您需要做的不僅僅是git checkout,但這是一個開始。

[email protected] ~/repos/git-test master 
$ git branch 
    feature 
* master 

[email protected] ~/repos/git-test master 
$ git chkout Feature 

[email protected] ~/repos/git-test master 
$ git branch 
    feature 
* master 

[email protected] ~/repos/git-test master 
$ git chkout feature 
Switched to branch 'feature' 

[email protected] ~/repos/git-test feature 
$ git branch 
* feature 
    master 

下面是我的~/.gitconfig中的chkout定義。

[alias] 
    chkout = !sh -c 'git for-each-ref --shell | cut -f 2 | grep -q \"refs/heads/$1\" && git checkout $1' - 
+0

嘿謝謝!添加一個別名可以幫助我,但不得不爲每個命令執行它似乎是一種痛苦,但學習其他強大的用戶功能確實非常棒。我一定會放棄這一點。 – kotsumu

+1

其他意見和答案是正確的 - 這個問題沒有很好的解決方案。 @dlsso絕對有正確的想法 - 從未使用過大寫的分支。 –

+0

我明白,但是在這種情況下我沒有選擇。如果我有一天有足夠的影響力,我肯定會嘗試改變這一點。我只是測試了你的解決方案,但它現在似乎對我有很大的幫助。 – kotsumu

0

是的。切勿在分支名稱中使用大寫字母。

如果這不是你的項目,你不能改變分支名稱,你必須得到什麼whoopata建議。