web-dev-qa-db-ja.com

gitステップが「1つ先」であるとはどういう意味ですか

SourceTreeをツールとして使用して、Gitをいじってみようと思っています。

ローカルリポジトリをBitBucketリポジトリに追加し、ローカルでいくつかの変更を加えました。私はそれらをコミットしてからプッシュしました。次に、BitBucketにログオンして、ドキュメントの一部を手動で変更しました(項目「追加4」)。次に、ローカルコピーに戻り、再度変更してコミットしました。それをプッシュしようとしたとき、それは私が最初にプルしてマージしなければならないことを教えてくれました。だから私はしました。

それから私はもう一度押しました。出来た。

さて、マスター(一番上のものです。なぜ2つあるのですか?)には、2 aheadというキャプションが付いています。これは正確にはどういう意味ですか?何が先にありますか?

Git - SourceTree screenshot

[〜#〜]更新[〜#〜]

git statusは私に与えます:

JustMe@IMRAY ~/Projects/BlaBlaUser/gitPractice (master)
$ git status
On branch master
Your branch is ahead of 'Origin/master' by 2 commits.
  (use "git Push" to publish your local commits)

nothing to commit, working directory clean
19
CodyBugstein

基本的に、いわば_2 ahead_を取り除くために、リモートブランチに再度Pushする必要があります。

マスター(一番上のもの)はローカルの追跡ブランチであり、_Origin/master_は最後のPushpull、またはfetchからのリモートリポジトリのステータスを記録するリモート追跡ブランチです。 Originはリモートリポジトリを指し、masterはそのリポジトリの現在のブランチ(デフォルト)です。

つまり、本質的には、ブランチ(master)が2つのコミットによってリモートマスターブランチ(_Origin/master_)よりも進んでいるということです。そのため、もう一度Pushを使用する必要があると言います。

ローカルで_git status_を実行すると、何をすべきかについての手がかりが得られるはずです。

26
gravetii

これは、そのリモートにまだプッシュされていないローカルコミットがあることを意味します。

例えば:

* (master) Fix bar
* Fix foo
* (Origin/master) Add bar
* Add foo

(新しいコミットが一番上にあります)

ここでは、Origin/mastermasterの2つのコミットであることがわかります。

git Push Origin masterを使用してmasterブランチをOriginにプッシュできます。

3
Drew Noakes