2

おそらくすでに質問されていますが、問題を呼び出すための正しい名前がわからないので、私を案内するか答えてください(はい、私はこの質問を見ましたが、答えからあまり得ることができませんでした) 。

私はしようとしてgit pullいますが、次のメッセージを受け取ります:

You asked me to pull without telling me which branch you
want to merge with, and 'branch.2012_05_09_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 "2012_05_09_my_branch"]
    remote = <nickname>
    merge = <remote-ref>

    [remote "<nickname>"]
    url = <url>
    fetch = <refspec>

See git-config(1) for details.

おそらく、私の作業ディレクトリは、ブランチに接続されていない状態で「ハング」しているように見えますね。もしそうなら-それを適切なブランチに接続する方法についてアドバイスしてください(2012_05_09_my_branch例えば)。おそらく私はそれについても間違っています(完全なGIT初心者です)。この場合、何が起こっているのか、そしてそれについて何ができるのかを説明してください。

洗練された質問:上記のメッセージを表示せずに実行git pushして正常に実行するには、何をする必要がありますか?git pull

更新:実行すると、次のようgit branchになります。

* 2012_05_09_my_branch
  master

おそらく、どのリモートブランチにも接続されていないローカルブランチにいることを意味します2012_05_09_my_branch

アップデートN2: なぜ常に `--set-upstream`を実行する必要があるのですか?-補足資料として読む価値があります(現在のみ見つかります)。

4

3 に答える 3

2

作業ディレクトリがブランチに接続されていないわけではありませんが、ローカルブランチのリモートのピアブランチを設定していません。あなたはそれらを一緒に「接続」することができます:

git branch --set-upstream 2012_05_09_my_branch remotes/<your remote>/2012_05_09_my_branch

<your remote>は、.git / configで定義されているサーバーサーバーであり、通常(1台のサーバーで作業している場合)はorigin

編集:より安全な方法は、remotes/<remote>/<branch>代わりに使用することです<remote>/<branch>

于 2012-06-03T19:37:06.247 に答える
0
git status

あなたがどのブランチにいるのかを見つけるのに役立ちます(もしあれば)。コマンド

git branch

あなたが持っているローカルブランチについてのリストを提供します(git branch -aはリモートブランチもリストします)。そしてもちろんあなたは使うことができます

git checkout <branchname>

作業コピーを選択したブランチに変換します。

于 2012-06-03T15:20:57.077 に答える
0

ローカルブランチを作成し、それをリモートリポジトリに配置する場合は、次のコマンドを実行する必要があります。

$ git push origin 2012_05_09_my_branch
于 2012-06-03T19:27:34.070 に答える