5

最近、ブランチ グループを作成するときに Git でよくある問題に遭遇しました。

「 tim 」というブランチがありました。「 tim」という名前のフォルダー/グループを作成し、その中に「tim」ブランチ
を作成したかったため、ブランチ パスは「 tim/tim」になりました。

私がこれをやろうとしたとき、Git によるとフォルダー「tim」とブランチ ref「tim」はまったく同じものだったので、Git は本当に私を嫌っていました。

私の質問は、ブランチ参照にこの問題を回避するための何らかの拡張機能がない理由を誰かが知っているかどうかです。.gitbranchなどと言いますか?
明らかに、ファイルにアクセスするたびに.gitbranchに追加するのはもう少し手間がかかりますが、特に開発チームにいる場合、この問題を回避するためにユーザーがしなければならない作業と比較してほとんど何もありません。(以前にレポを複製したことがある人は、手動で refs フォルダーに移動し、「tim 」という名前のブランチの痕跡をすべて削除する必要がありました"、そうでなければフェッチできません!)

これが実際に正当な問題である場合は、適切なチャネルで提起しますが、意図的にこれを行った可能性がある理由を誰かが知っているかどうかを確認したかったのですか?

ありがとう、
ティム

4

2 に答える 2

5

どちらにしても特に根拠はないと思います。UNIX では通常、ファイル拡張子を使用しないため、拡張子はありませんでした。fooつまり、とfoo/anythingを同時に持つことはできません。これは文書化されており、現在は石でキャストされており、変更されませんが、最近のリモート参照は通常、すべてが 1 つのファイルにパックされた形式で格納されています。

でも:

  • git fetch-p( --prune) オプションが指定されている場合、新しいブランチを作成する前に古いブランチをプルーニングするのに十分スマートでなければなりません。そうでない場合は、間違いなく git メーリング リストで取り上げる必要があります。
  • gui でプルーニングをデフォルトにする方法しかありませんが、リモートのフェッチ構成にはありません。それについて尋ねることも理にかなっています。
于 2012-08-21T07:48:24.000 に答える
0

timGit では、ファイル名(ブランチ ヘッドを格納する) をディレクトリ名(スラッシュがある場合)に変換しようとするとtim/、参照の命名の自由があるため、問題が発生する可能性があります (「 」を参照git-check-ref-format)。

于 2012-08-21T22:50:04.250 に答える