なぜ git は私のブランチ名のプレフィックスを大文字にするのですか?
質問
私は本当に単純なgitコマンドのセットを持っていますが、それはいくつかの奇妙な動作に起因しています。
現在のローカルブランチを表示し、私が
release/beta1
:
$ git branch
develop
master
* release/beta1
を作成します。
bugfix/somefeature
から分岐して
release/beta1
:
$ git checkout -b bugfix/somefeature
Switched to a new branch 'bugfix/somefeature'
ここまではいい感じでしょう?では、もう一度ローカルブランチを表示させてください。
$ git branch
BUGFIX/somefeature
質問の内容
-
なぜ
bugfix
というプレフィックスが大文字になったのはなぜですか?BUGFIX
? - 関連:なぜ現在のブランチにアスタリスクが付いてないのですか?
私は OS X 10.8.2 上の Homebrew 経由で git バージョン 1.8.1.5 を使っていますが、これは私のかなり無味乾燥な
~/.gitconfig
の有無にかかわらず発生します。この現象は、一見するとすべての
bugfix/...
ブランチで起こります。
どのように解決するのですか?
ブランチは
ファイル
の中に
.git
ディレクトリ内にあるファイルです。シングルブランチは、ブランチが指し示すコミットオブジェクトへのハッシュを含む単一のファイルです。
ですから、おそらく推測できるように、ブランチを作成するときに
foo/bar
を作成するとき、これはファイルを含むディレクトリに対応します。そのため、Git はフォルダーを作成します。
foo
とファイル
bar
というファイルがあり、それがコミットを指しています。
これは、別のブランチを追加したときに
foo/baz
というファイルが作成されます。
baz
を作成し、それをフォルダに追加します。
これで、大文字と小文字を区別しないファイルシステムでは、ブランチ名は大文字と小文字を区別するようになりました。つまり、次のようになります。
FOO/bar
と
foo/bar
は同じです。しかし、実際の
内部
の名前は、元のフォルダとファイル名から取られます。そのため
bugfix
ブランチカテゴリのフォルダが大文字で書かれている場合、ブランチは大文字の
BUGFIX
.
これを修正するには、単に
.git/refs/heads
に移動して、フォルダ名を好きなように変更してください。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】既存のGitブランチをリモートブランチに追従させる?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
エラーが発生しました。マージされていないファイルがあるため、プリングはできません
-
致命的 リモートレフマスターが見つからない
-
git reset --hardとgit reset --softの違いについて
-
gitの利用(ssh鍵の作成とgithubの利用)。
-
[解決済み] Jenkins Pipeline Git SCM を認証情報でチェックアウトする?
-
[解決済み] git diff を stdout に書き出すには?
-
[解決済み] 新サーバーへのGitプッシュ/クローン
-
[解決済み] SourceTreeを使用して、ビットバケット上にレポを作成せずに、ローカルレポをビットバケットにプッシュするにはどうすればよいですか?
-
[解決済み] Git: リモートブランチの情報を更新する
-
[解決済み] Git Repo から既存のファイルを削除する