を引き出し、私たちはgithubのに私たちのソースコードを移行すると、このトランザクションは私に頭痛与えている:)
私がやった:私は、私たちのワークスペースに行っては、(Eclipseプロジェクトである)、そしてgit init
とgit add .
をしましたgit commit -am "first commit"
すべて正常に機能し、次に私はgithubにプッシュしました。成功も。
大きな問題があります。私の友人はA.java
という名前のファイルを変更したばかりで、私はちょうどB.java
を変更しました。大丈夫です、大したことではありません。その後、彼はそれをgithubにプッシュした。私がプッシュしようとするwhei、私のプッシュは拒否されます。さて、私はgit pull github master
をして、もう一度押して、今、私の 'コミットメッセージ'のようになりますMerge branch 'master' of github.com:germantech/projectName
私は間違って何ですか?
PS:私の英語gitのフェッチとここ
1
A
答えて
3
について申し訳ありませんあなたは何も悪いことをやっていない - あなたがgit pull github master
を行う際に、Gitはリモートgithub
で示さリポジトリに行き、master
ブランチのために必要なすべてのものを取得し、その後、あなたにそれをマージ現在のブランチ。 O
がメッセージ「firtsコミット」とA
でコミットされ
O --- A (master)
が...
A.java
に変更を導入しているコミットです:プルする前に、次の歴史を持っていました。一方、あなたの友人は履歴を持っています:
O --- B (master)
...それはGitHubにプッシュされました。あなたのgit pull github master
があなたの歴史の中に、それが作成することをマージした場合、両方のmaster
ブランチからの変更で、ツリーの状態を表すために「コミットマージ」:
O --- B --- M (master)
\ /
---A ---
を、代わりに、あなたは歴史の線形を維持したい場合は、私は個人的にドン - 一部の人々がいることを好む
o --- B --- A' (master)
:あなたの代わりにブランチの削除バージョンの上に枝のリモートバージョンではありませんあなたのコミットを「再生」でしょうでしょうgit pull --rebase github master
を行うことができます気にしない。
1
will --rebaseは私のコミットメッセージを維持しますか?または彼はそれを変更するのだろうか? –
--rebaseは私のコミットメッセージを変更しません。何が望ましいですか?プルまたはプル - ベース? –
コミットメッセージ(および作成者情報と作成者日付)が保持されます。更新されるコミットの日付とコミッター情報が別にあります。 –