1

元の git リポジトリのスナップショット (ワークステーション上) をプッシュする新しい空の gitolite リポジトリを作成しました。指示に従い、git push --all続いてgit push --tags. これはうまく機能しているように見えましたが、一部のブランチ参照がプッシュされていないことがわかりました。git show-ref私のワークステーションで実行すると、並べ替えの参照の数が表示されますが、gitolite リポジトリで直接実行すると、このブランチ名はまったく表示されません (私はそれが として表示されることを期待していましたrefs/remotes/origin/branchXyz。残りのブランチをプッシュするにはどうすればよいですか?git show-refrefs/heads/branchXyz

ありがとう!

4

1 に答える 1

2

ローカル リポジトリ自体が (' origin'、別の非 gitolite リポジトリの) クローンである場合、すべてのブランチがローカルoriginにあるわけではなく、リモート (' ') ブランチへの参照のみが含まれます。

最初にすべてのブランチをプルするか、すべてを追跡する必要があります。

$ git remote update  
$ git pull --all

# or:

remote=origin ; for brname in `git branch -r | grep $remote | grep -v master | grep -v HEAD | awk '{gsub(/[^\/]+\//,"",$1); print $1}'`; do git branch --set-upstream $brname  $remote/$brname ; done

(最後のコマンドの詳細はこちら)

(両方のオプションについては、「すべてのリモート git ブランチをローカル ブランチとして追跡する」、「「<code>git pull --all」ですべてのローカル ブランチを更新できますか?」または「Git ですべてのリモート ブランチをクローンするにはどうすればよいですか?」でも詳しく説明しています。 ? ")

次にpush --all、新しい (gitolite)アップストリームリポジトリに移動します。

于 2012-06-01T15:06:59.993 に答える