まず、ローカルでいくつのリビジョンが遅れているかを確認するには、 git fetch
確認するには、リモートから最新の情報を入手するためにを実行する必要があります。
のデフォルトの出力でgit status
は、いくつのリビジョンが進んでいるか、または遅れているかがわかりますが、通常、これは冗長すぎると思います。
$ git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 2 and 1 different commit each, respectively.
#
nothing to commit (working directory clean)
私は好むgit status -sb
:
$ git status -sb
## master...origin/master [ahead 2, behind 1]
実際、私はこれを単に git s
、ます。これは、ステータスの確認に使用するメインコマンドです。
の「前のリビジョン」の差分を確認master
するために、「後ろのリビジョン」を以下から除外できますorigin/master
。
git diff master..origin/master^
の「リビジョンの後ろ」の差分を確認するために、「リビジョンのorigin/master
前」を以下から除外できますmaster
。
git diff origin/master..master^^
前後に5つのリビジョンがある場合は、次のように記述する方が簡単です。
git diff master..origin/master~5
git diff origin/master..master~5
更新
前方/後方のリビジョンを表示するには、別のブランチを追跡するようにブランチを構成する必要があります。私にとって、これは、リモートリポジトリのクローンを作成するとき、およびでブランチをプッシュした後のデフォルトの動作ですgit push -u remotename branchname
。私のバージョンは1.8.4.3ですが、覚えている限り、このように動作しています。
バージョン1.8以降、次のようにトラッキングブランチを設定できます。
git branch --track test-branch
バージョン1.7以降、構文は異なりました。
git branch --set-upstream test-branch