my_local_branch
リモートブランチを追跡する''という名前のローカルブランチがありますorigin/my_remote_branch
。
これで、リモートブランチが更新されました。私は' my_local_branch
'を使用しており、これらの変更をプルしたいと考えています。私はただやるべきですか:
git pull origin my_remote_branch:my_local_branch
これは正しい方法ですか?
my_local_branch
リモートブランチを追跡する''という名前のローカルブランチがありますorigin/my_remote_branch
。
これで、リモートブランチが更新されました。私は' my_local_branch
'を使用しており、これらの変更をプルしたいと考えています。私はただやるべきですか:
git pull origin my_remote_branch:my_local_branch
これは正しい方法ですか?
:
構文は使用しませんpull
。常に現在チェックアウトされているブランチを変更します。したがって:
git pull origin my_remote_branch
あなたがmy_local_branch
チェックアウトしている間、あなたが望むことをします。
トラッキングブランチはすでに設定されているので、指定する必要はありません。指定するだけで...
git pull
my_local_branch
チェックアウトしている間、追跡されたブランチから更新されます。
そのブランチのアップストリームを設定しました
(見る:
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 pull
git push
注:私はgit初心者です。
「gitpull」を実行すると、通常、「エラー:次のファイルへのローカル変更はマージによって上書きされます」「マージする前に変更をコミットするか、隠してください」と表示されます。(私は本当に気にしないマイナーな一時的な変更を加えたので。)
リモートからプルしている場合、通常は変更を気にしません。チームがプッシュした最新のものが欲しいだけです。(私はいくつかの変更を維持するために時々「スタッシュ」を使用しました。)
したがって、リモートから最新のものをプルして、ローカルの変更をすべて消去するために私が行うことは次のとおりです。
git reset --hard (現在のブランチの場合)
また
git reset --hard origin / master(マスターに戻るため)
それから:
git pull (現在のリモートファイルをローカルにプルします)
誰かが誤ってローカルコミットを台無しにしてしまったからです。
ローカルのダーティブランチを削除する
git branch -D master
次に、リモートからブランチを再構築します
git checkout -b master origin/master