1

これは私.git/configのリポジトリの構成ファイルです。

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = git@github.com:<username>/<repository>.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[user]
    name = <username>

github で公開 ssh キーを正しく構成しました。変更を別のマシンからこのリポジトリにプッシュしたところ、正しく github に更新されました。

ただし、現在のマシンで git プル リクエストを行うと、次のようになります。

git pull origin master

「すでに最新です」と表示されます

まったくそうでない場合、github リポジトリの更新されたファイルがローカル リポジトリにありません。

私は何が間違っている可能性がありますか?

アップデート:

Olivier Refalo からの回答から次のことを試しました。

github および local では、ブランチは master です。

コマンドへの出力:

git for-each-ref --format="local: %(refname:short) <--sync--> remote: %(upstream:short)" refs/heads

次のとおりです。

ローカル: マスター <--sync--> リモート:

git remove -v次の出力を返します。

オリジン git@github.com:username/repository.git (フェッチ)

元の git@github.com:username/repository.git (プッシュ)

4

3 に答える 3

1

ここで複数のことが発生する可能性があります。

私はgitを信頼します。リモートはローカルと同期しています。ここでの問題は、あなたが思っているよりも別の場所を指している可能性があることです.

  1. ローカル ブランチ XYZ (マスターではない) を origin/master にプッシュしている可能性があります
  2. 別の URL にプッシュしている可能性があります

これを理解するには、次のコードを実行します。

  1. gitブランチ、マスターにいることを確認してください
  2. git for-each-ref --format="local: %(refname:short) <--sync--> remote: %(upstream:short)" refs/heads
  3. git リモート -v

後者は、どのローカル ブランチがどのリモートと同期するかを示す関連付けテーブルを表示します。最後に、最新のステートメントでリモート URL が表示されます。

私は私のプロジェクトG2からこれらのコマンドを取りました

于 2012-08-23T08:02:32.797 に答える
1

何が問題なのかわからなかったので、更新されたファイルを取得するために、github から新しい git clone を作成しました。

于 2012-08-24T08:24:46.333 に答える
-1

強制的に引っ張ってみてください。git と pull の間に「force」を追加します

于 2012-08-23T07:50:15.580 に答える