137

my_local_branchリモートブランチを追跡する''という名前のローカルブランチがありますorigin/my_remote_branch

これで、リモートブランチが更新されました。私は' my_local_branch'を使用しており、これらの変更をプルしたいと考えています。私はただやるべきですか:

git pull origin my_remote_branch:my_local_branch

これは正しい方法ですか?

4

4 に答える 4

137

:構文は使用しませんpull。常に現在チェックアウトされているブランチを変更します。したがって:

git pull origin my_remote_branch

あなたがmy_local_branchチェックアウトしている間、あなたが望むことをします。

トラッキングブランチはすでに設定されているので、指定する必要はありません。指定するだけで...

git pull

my_local_branchチェックアウトしている間、追跡されたブランチから更新されます。

于 2012-07-01T00:01:26.560 に答える
85

そのブランチのアップストリームを設定しました

(見る:

git branch -f --track my_local_branch origin / my_remote_branch
#または(my_local_branchが現在チェックアウトされている場合):
$ git branch --set-upstream-to my_local_branch origin / my_remote_branch

git branch -f --trackブランチがチェックアウトされている場合は機能しません。git branch --set-upstream-to 代わりに2番目のコマンドを使用してください。そうしないと、 " fatal: Cannot force update the current branch."が表示されます)

つまり、ブランチはすでに次のように構成されています。

branch.my_local_branch.remote origin
branch.my_local_branch.merge my_remote_branch

Gitにはすでに必要な情報がすべて揃っています。
その場合:

# if you weren't already on my_local_branch branch:
git checkout my_local_branch 
# then:
git pull

十分です。


''をプッシュするときにアップストリームブランチの関係を確立していなかった場合は、アップストリームブランチをプッシュしてmy_local_branch設定するには単純なgit push -u origin my_local_branch:my_remote_branchもので十分でした。 その後、その後のプル/プッシュのために、または再び、十分でした。
git pullgit push

于 2012-06-30T23:58:03.150 に答える
0

注:私はgit初心者です。

「gitpull」を実行すると、通常、「エラー:次のファイルへのローカル変更はマージによって上書きされます」「マージする前に変更をコミットするか、隠してください」と表示されます。(私は本当に気にしないマイナーな一時的な変更を加えたので。)

リモートからプルしている場合、通常は変更を気にしません。チームがプッシュした最新のものが欲しいだけです。(私はいくつかの変更を維持するために時々「スタッシュ」を使用しました。)

したがって、リモートから最新のものをプルして、ローカルの変更をすべて消去するために私が行うことは次のとおりです。

git reset --hard (現在のブランチの場合)

また

git reset --hard origin / master(マスターに戻るため)

それから:

git pull (現在のリモートファイルをローカルにプルします)

于 2021-08-19T16:20:04.303 に答える
0

誰かが誤ってローカルコミットを台無しにしてしまったからです。

ローカルのダーティブランチを削除する

git branch -D master

次に、リモートからブランチを再構築します

git checkout -b master origin/master

于 2022-01-24T07:49:04.870 に答える