私は地元の支店を持っています A
。私はそれのためにリモートトラッキングブランチを作成する必要があります origin/A
。リモートと通信せずに作成することは可能ですか?
回答:
回答№1は2はい。具体的には、 リモートトラッキングブランチ名 好きな origin/A
実際には 地元 エンティティ、 git branch --set-upstream-to
または git checkout --track
用途 他のGitに連絡を取らずにこのローカルエンティティ。
ただし、その名前は refs/remotes/
名前空間は 自動的に作成または更新された、 時には 自動的に破壊された、によって git fetch
そして git push
。からフェッチしたりプッシュしたりするとき 遠隔の その名前は origin
, git fetch
そして git push
取得またはプッシュの結果に基づいて適切なリモートトラッキング名を更新します。より正確には、実行中 git fetch origin
に従います remote.origin.fetch
参照仕様デフォルトのrefspecは +refs/heads/*:refs/remotes/origin/*
。 URLのGitがに保存されている場合 remote.origin.url
持っています origin/A
これにより、作成または更新が行われます。 refs/remotes/origin/A
当時。
あなたが --prune
オプションを選択するか、またはプルーニングを選択するオプションのいずれかを設定します。 fetch.prune = true
時には、例えば - その後、これも同じ git fetch origin
意志 除去する あなた自身の refs/remotes/origin/A
ない場合 refs/heads/A
Gitに存在します origin
.
あなたがこれらの自動操作を気にしないと仮定して、あなた自身のGitがブランチのために2つの部分からなるフィールドを設定しようとするときあなた自身のローカルGitが課すという唯一の要件があります A
その上流が origin/A
。その要件はあなたのローカルリポジトリが 持ってる という名前の参照 refs/remotes/origin/A
。まだ持っていない場合は、コマンド:
git update-ref refs/remotes/origin/A <valid-commit-specifier>
URLでGitに連絡することなく(そしてそれがあるかどうかにかかわらず)それを作成します refs/heads/A
そのGitに今すぐ)。ただし、ここで有効なコミット指定子として何を使用したいのか明確ではありません。理想的な値は何でも構いません。 refs/heads/A
に保存されているURLのGit上で解決されます origin
つまり、それを見つけるには、そのGitに連絡する必要があります。ただし、気にしないのであれば、有効なコミット指定子なら何でも構いません。 git status
奇妙な先/後ろの数え方をする