[解決済み] なぜ `--set-upstream` を常に実行する必要があるのですか?
質問
Gitで新しいブランチを作成しました。
git branch my_branch
押してください。
git push origin my_branch
ここで、誰かがサーバーに変更を加えたとします。
origin/my_branch
. 私はそうしています。
git pull
しかし、私は得る。
You asked me to pull without telling me which branch you
want to merge with, and 'branch.my_branch.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.
If you often merge with the same branch, you may want to
use something like the following in your configuration file:
[branch "my_branch"]
remote = <nickname>
merge = <remote-ref>
[remote "<nickname>"]
url = <url>
fetch = <refspec>
See git-config(1) for details.
でうまくいくことを知りました。
git branch --set-upstream my_branch origin/my_branch
しかし、なぜブランチを作成するたびにこのようなことをする必要があるのでしょうか? をプッシュすればいいのは明らかではないでしょうか?
my_branch
を
origin/my_branch
を引っ張ってきて、その後に
origin/my_branch
を
my_branch
? どうすれば、この動作をデフォルトにできますか?
解決方法は?
の構文を覚える必要がないショートカットです。
git branch --set-upstream
1
が行うことです。
git push -u origin my_branch
... そのブランチを最初にプッシュするとき。あるいは、同名のブランチから現在のブランチにプッシュする場合 (エイリアスとして使用する場合に便利です)。
git push -u origin HEAD
を使用するだけです。
-u
一度だけ、あなたのブランチと
origin
と同じように
git branch --set-upstream
が行う。
個人的には、自分のブランチとリモートのブランチとの関連付けを明示的に設定しなければならないのは良いことだと思います。 ただ残念なのは、そのルールが
とは異なります。
git push
と
git pull
.
1 バカげていると思われるかもしれませんが、私は頻繁に現在のブランチを指定するのを忘れてしまいます。
2012年10月11日更新
: どうやら、間違えやすいと感じたのは私だけではなさそうです ありがとうございました。
VonC
git 1.8.0では、より明白な
git branch --set-upstream-to
ブランチにいる場合は、次のように使用できます。
my_branch
:
git branch --set-upstream-to origin/my_branch
... または short オプションを使用します。
git branch -u origin/my_branch
この変更とその理由については、以下のとおりです。 git 1.8.0、リリース候補1のリリースノートです。 :
と言いたくなるような内容でした。
git branch --set-upstream origin/master
しかし、これはGitにローカルブランチをアレンジするように指示します。origin/master
をチェックアウトしたブランチと統合させることができますが、これはユーザーが意図したものである可能性は極めて低いでしょう。このオプションは非推奨です。--set-upstream-to
(ショートアンドスイートで-u
)オプションで代用できます。
関連
-
[解決済み】なぜこのマージが必要なのか、特に更新された上流をトピックブランチにマージする場合、コミットメッセージを入力してください。
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Git を使ってタグをリモートリポジトリにプッシュするには?
-
[解決済み] Git フェッチ リモートブランチ
-
[解決済み] Gitのプッシュを正しく強制する方法は?
-
[解決済み] Git のローカルブランチとリモートブランチの両方の名前を変更するにはどうすればよいですか?
-
[解決済み] 古いリモート git ブランチのクリーンアップ
-
[解決済み] この "u "は具体的に何をするのですか?"git push -u origin master" と "git push origin master" の違い。
-
[解決済み】Gitのワークフローとrebaseとmergeの質問
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】現在のブランチの先端がリモートブランチより遅れているため、更新が拒否されました。
-
[解決済み】Git Extensions。Win32 エラー 487: cygwinのヒープ用に領域を確保できなかった、Win32エラー0
-
[解決済み] 短いGitバージョンのハッシュを取得する
-
[解決済み] 警告: リモート HEAD は存在しない参照元を参照しているため、チェックアウトできません。
-
[解決済み】既存のGitブランチをリモートブランチに追従させる?
-
[解決済み】ブランチを指定せずにgit pushした場合のデフォルトの動作
-
[解決済み】Git checkout: パスの更新はブランチの切り替えと互換性がありません。
-
[解決済み】なぜ「git push --set-upstream origin <branch>」をしなければならないのでしょうか?
-
[解決済み] git push -u origin master の -u フラグの意味は何ですか?
-
[解決済み] なぜ新しいブランチを明示的にプッシュする必要があるのですか?