0

私は git clone されたリポジトリを持っています。

このリポジトリの目的は、 ssh を介した git loggit logなどがない限りです。

$ git ls-remote

ac118076af0ca4c164a831b9e31b1a307747ec36        refs/heads/master
db1253eae8241aa0813d5a49880c41cd810216c2        refs/heads/production/version-2011.10
32c2dcad3133c8214c0d0e898e32b7a7a9f068cf        refs/heads/release/version-2011.11

リモート マシンからのみ読み取り専用ブランチをセットアップしたいgit pull(トラッキング ブランチ?!)。

$ git branch -tb version-2011.11 refs/heads/release/version-2011.11

fatal: git checkout: updating paths is incompatible with switching branches.
Did you intend to checkout 'refs/heads/release/version-2011.11' which can not be resolved as commit?

$ git checkout -tb version-2011.11 release/version-2011.11

fatal: git checkout: updating paths is incompatible with switching branches.
Did you intend to checkout 'release/version-2011.11' which can not be resolved as commit?

将来は:

  • リリース/2011.11 は製品版になります/2011.11
  • マスター -> リリース/バージョン-2011.12
  • 等々...

助言がありますか?

4

1 に答える 1

1

git ls-remoteリモートリポジトリ内の参照を表示するためrefs/heads/release/version-2011.11、ローカルクローンではなく、そのリポジトリ内の有効な参照のみです。リモートが呼び出された場合origin(デフォルトでは)、対応するリモート追跡ブランチが呼び出されます。

refs/remotes/origin/release/version-2011.11

... または省略形を使用できます: origin/release/version-2011.11 (表示されるエラーは、git が最後のパラメーターをパスとして解釈しようとしたことによるものです。これは、その名前の ref を認識していないためです。)

を使用するだけの場合はgit log、リモート追跡ブランチを追跡するローカル ブランチを作成する必要さえありません。次のようにするだけです。

git log origin/release/version-2011.11

そのリモート追跡ブランチを更新するには (リモート リポジトリに変更があった場合)、次のようにするだけです。

git fetch origin
于 2011-08-31T09:04:10.413 に答える