0

git fetch origin masterそしてgit pull origin master、この2つのコマンドを実行した後、次のコマンドを実行すると、次のgit statusようになります。

$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.
#
nothing to commit, working directory clean

この奇妙なことを見つけて(ローカルが遅れていたのでorigin/master)、リポジトリを別の場所に再度クローンして正しく取得したので、リモートリポジトリは問題ありません。最初にgit fetchコマンドを実行すると、ローカルのオリジン/マスターがオンライン リポジトリで正しく更新されましたか? もう一度git pull取得してからマージすることになっていたのですが、そうではなかったと思います。理由はわかりません。誰でも説明できますか?

ありがとうございました!

[編集]
私はさらに混乱しています。今、私は元のマシンで作業していて、ちょうどやったgit pull origin master. 驚いたことに、同じことが再び起こりました。提案されたものを使用git reflog --allしましたが、他のマシンで行ったコミットが表示されません。このコミットは、このマシンでコミットしたかのように表示されます (ahead of ...メッセージが再度表示されます)。下は、端末ウィンドウからコピー/貼り付けされた、今起こったことに従います (一部の個人情報は省略されています)。

user@user:~/my_project$ git pull origin master
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From my_git_site:my_repo
 * branch            master     -> FETCH_HEAD
Updating some_bizarre_number
Fast-forward
 main.py |   18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)
user@user:~/my_project$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
4

2 に答える 2

0

git reflog --all を試して、最後の 5 つのコミットを確認してください。おそらく、これにより、これらのコミットがどこから来ているのかが明確になります。

于 2013-02-08T19:03:12.590 に答える