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)