SourceTreeをツールとして使用して、Gitをいじってみようと思っています。
ローカルリポジトリをBitBucketリポジトリに追加し、ローカルでいくつかの変更を加えました。私はそれらをコミットしてからプッシュしました。次に、BitBucketにログオンして、ドキュメントの一部を手動で変更しました(項目「追加4」)。次に、ローカルコピーに戻り、再度変更してコミットしました。それをプッシュしようとしたとき、それは私が最初にプルしてマージしなければならないことを教えてくれました。だから私はしました。
それから私はもう一度押しました。出来た。
さて、マスター(一番上のものです。なぜ2つあるのですか?)には、2 ahead
というキャプションが付いています。これは正確にはどういう意味ですか?何が先にありますか?
[〜#〜]更新[〜#〜]
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
基本的に、いわば_2 ahead
_を取り除くために、リモートブランチに再度Push
する必要があります。
マスター(一番上のもの)はローカルの追跡ブランチであり、_Origin/master
_は最後のPush
、pull
、またはfetch
からのリモートリポジトリのステータスを記録するリモート追跡ブランチです。 Origin
はリモートリポジトリを指し、master
はそのリポジトリの現在のブランチ(デフォルト)です。
つまり、本質的には、ブランチ(master
)が2つのコミットによってリモートマスターブランチ(_Origin/master
_)よりも進んでいるということです。そのため、もう一度Push
を使用する必要があると言います。
ローカルで_git status
_を実行すると、何をすべきかについての手がかりが得られるはずです。
これは、そのリモートにまだプッシュされていないローカルコミットがあることを意味します。
例えば:
* (master) Fix bar
* Fix foo
* (Origin/master) Add bar
* Add foo
(新しいコミットが一番上にあります)
ここでは、Origin/master
がmaster
の2つのコミットであることがわかります。
git Push Origin master
を使用してmaster
ブランチをOrigin
にプッシュできます。