2012-05-02 14 views
12

セットアップ: 3 git repos - github、ローカル、およびステージングサーバー。ローカルとリモートのGitリポジトリ間の正確な発散/コミットを参照してください

ローカルで開発し、githubとステージングサーバーのプルにプッシュします。

私はステージングサーバーで変更やコミットを行っていませんが、私はずっと前に完了していたに違いありません。私はgit status(ステージングサーバー上で)行うときに、今、私は、次のメッセージが表示されますので:

On branch SOME_BRANCH 
Your branch and 'origin/SOME_BRANCH' have diverged, 
and have 4 and 32 different commit(s) each, respectively. 

私の質問は:は、どのように私はoriginではないこれらの正確なコミットを見ていますか?

+0

注: 'git log --graph --pretty --abbrev-commit --oneline'を試しましたが、履歴が長すぎます。だから私はもっと良い方法があるのだろうかと思っています。 – Uzbekjon

+0

[masterブランチと 'origin/master'の可能な複製が分岐し、どのように 'ブランチをundivergeするのですか'](http://stackoverflow.com/questions/2452226/master-branch-and-origin-master-have-分岐する方法) – CharlesB

+0

あなたの答えと 'git log origin..HEAD'はうまくいった。 Re:二重の質問ですが、もう一つの質問は解散したいのですが、私はそれがどのように分岐しているのか知りたいのです。 – Uzbekjon

答えて

16
git rev-list origin..HEAD 

これが起源ではない、あなたのブランチにコミット(HEAD)を示しています。

+2

コミットメッセージを受け取るのに 'format =%B 'を追加すると便利です – Crisfole

+4

Hmmm、' fatal:あいまいな引数' origin.HEAD ':不明なリビジョンまたはパスワーキングツリーで 'git [ ...] - [ ...]' ' – crmpicco

+0

@crmpicco try 'git log origin ..HEAD'のように、リビジョンからパスを区切るには' - 'を使います。エラーが発生した場合、おそらくあなたのリモコンは 'origin'と呼ばれていません。 'git remote -v'を試してください。出力に 'origin'が含まれていますか? – Uzbekjon

2

一般的に、あなたのリモートはFOOと呼ばれ、あなたのブランチがバーですされている場合:

git rev-list foo/bar..HEAD 

@charlesbは、リモートと呼ばれる原点とマスターブランチにいるための答えです。

関連する問題