0

私の最終的な目標は、ローカルの作業ブランチをすばやく更新することです。

リモートには、多くのブランチやタグなどを含む巨大なデータベースがあります。リモート リポジトリをローカル リポジトリに同期 (またはクローン) した後、最新情報を取得するために「repo forall -c 'git pull」を実行すると、すべての git プロジェクトのすべての情報が取得されるため、時間がかかりすぎます。

たとえば、my_local_working_branch_1 は remote/working_branch_1 に対応します。私の場合、my_local_working_branch_1 には約 300 の git プロジェクトがあります。

$ git branch
my_local_working_branch_1

$ repo forall -c 'git pull'
remote : couting objects: ...
remote : Compressing object: ...
remote : Total ...
From ssh://......
*[new branch] working_branch_2
*[new branch] working_branch_3
*[new tag]    ...
*[new tag]    ...

時間を節約するために、remote/working_branch から my_local_working_branch、実際には 300 個の git プロジェクトのみを更新したいと考えています。

git fetch または git pull を使用できますか? 詳細な説明をお願いします。

完全に理解するためにさらに情報が必要な場合は、お知らせください。

ありがとう。

4

1 に答える 1

1

pullブランチ (実際に行っていること) またはfetch+ rebaseitのいずれかを使用できます。

git pull <remote> <branch>

# the same as 

git fetch <remote> <branch>
git merge <remote>/<branch> <local_branch>

または:

git fetch <remote> <branch>
git rebase <remote>/<branch> <local_branch>

両方のケースを試してみて、どちらがあなたに合っているか見てみましょう.

于 2012-07-23T07:00:51.177 に答える