Gitバージョン管理下にあるOS X Lionでプロジェクトを開発しています。私はこれらの小文字のディレクトリを持っていて、後でそれらを大文字にしました(例えばemailaddresses => EmailAddresses)が、Gitは変更を認識していないようです。それでも、私がgit ls-files
他のコマンドを実行すると、ディレクトリは小文字であると見なされます。
これは無害ですか、それともGitにこの変更を反映させるために何か他のことをする必要がありますか?
Gitバージョン管理下にあるOS X Lionでプロジェクトを開発しています。私はこれらの小文字のディレクトリを持っていて、後でそれらを大文字にしました(例えばemailaddresses => EmailAddresses)が、Gitは変更を認識していないようです。それでも、私がgit ls-files
他のコマンドを実行すると、ディレクトリは小文字であると見なされます。
これは無害ですか、それともGitにこの変更を反映させるために何か他のことをする必要がありますか?
回答:
おそらく大文字小文字を区別しない(ただし大文字小文字を区別する)HFS +を使用しています。私は通常、これを次のように処理します:
$ git mv somename tmpname
$ git mv tmpname SomeName
git push origin master
ます。gitがリモートの更新を拒否した場合、ダミーファイル(例:)を追加touch stam
してプッシュを実行する必要がある場合があります。続いてstamを削除し、もう一度プッシュします。
次のコマンドを実行すると、ケースを考慮するようにgitに指示できます
git config core.ignorecase false
これは、Mac OS Xが大文字と小文字を区別する機能を実装しているためです。
他の回答の二重の名前変更の提案は機能しますが、ベストプラクティスの結果を得るには、「-force」の使用をお勧めします。
$ git mv --force somename SomeName
注:強制オプションなしで試してみると、gitは次のようにあなたを攻撃します:
$ git mv somename SomeName
$ fatal: destination exists, source=somename, destination=SomeName
上記の例では、gitコマンドは失敗し、ファイルシステムまたはgitのインデックスでファイルは変更されません。
fatal: not under version control
ます。
git
コマンドは、GITリポジトリのあるディレクトリでのみ機能します。
.gitconfigファイルでgit設定オプションcore.ignorecaseをfalseに変更してみてください。
git config core.ignorecase false
次の手順で問題を解決できました。
フォルダの名前を次のように変更しますtemp
。
mv Folder temp // It will rename your Folder to temp
ステージングとコミット:
git add .
git commit -m "Temp"
temp
フォルダの名前を任意に変更します。
mv temp folder // It will rename temp folder to the name of your choice(folder)
git add .
git commit -m "Folder Fixed"
完了-これでプッシュできます。
これは、LINUXベースのOSまたはmacOSがファイル/フォルダー名の大文字と小文字を区別することを無視するためです。以下の手順でこの問題を解決する必要があります
For Exp, you want to change folder name from Base to base
1. mv Base base2
2. git add . && git commit -m "Fix folder name problem (wip)"
3. mv base2 base
4. git add . && git commit -m "Fixed folder name problem"
これらの解決策はどれも私にとってうまくいきませんでした。SourceTreeは常に、私が望んでいたものとは異なるケースで私のブランチを作成していました。だから私がそれを解決した方法は:
1-Finderでgitファイルを確認します。ターミナルで次のように入力して実行できます。
- `defaults write com.apple.finder AppleShowAllFiles TRUE`
- `killall Finder`
2-ファインダーを再起動し、プロジェクトディレクトリに移動します
3-次に、フォルダ名を変更します。たとえば、Featureからfeatureに変更します。そして、あなたは行きます。
GITコマンドを使用せずに、これを手動で行うこともできます。.git
フォルダ内で、希望する名前のフォルダを削除するだけですSomeName
。そして、フォルダの名前を変更somename
しますSomeName
。詳細:大文字に設定されたフォルダー名を修正し、gitを小文字に変換する方法
これらのどれも実際には私を助けませんでした、私の変更は隠しておくようにgitに指示していました。私の状況は、ローカルフォルダーが大文字でリモートがそうではなく、ブランチが遅れていて、ファイルの大文字の違いのためにプルできなくなったためです。フォルダ構造内。
これを修正できる唯一の方法は、ローカルブランチを削除してリモートをチェックアウトすることでした。