Pull

pull.png

git pull リポジトリURL ブランチ名

もしEclipse上でPullできなかったらFetchを使おう。

自分のローカルである程度作業が進んだ状態で他の人のpushが来た場合

stash → pull → stash pop → コンフリクト解消 → commit → push

Fetchとは

pullを実行すると、リモートリポジトリの内容のマージが自動的に行われてしまいます。しかし、単にリモートリポジトリの内容を確認したいだけの時はマージをしたくない場合もあります。そのような時はfetchを使用します。
pullというのは内部でfetch mergeしてるのと一緒なのです。
こうすると、今の自分のローカルと違うものにはこういう印がつく
そうすると、自分のとはコンフリクトすることがある。そしたらmergeしよう、。
最新の状態をリモートからとってくるためのコマンド

ローカルのは消えてもいいからリモートの状態に完全に塗り替えたい場合

git pull —rebase リポジトリURL ブランチ名

pushする前に最新の状態をゲットする
rebaseだと有無をいわさず勝手に上書きする

rebaseしたら自分のローカルのが消えちゃったーー!!場合

git rebase –-abort

これでrebaseする前に戻れる
cannotpull.png
これは.git/configbranch.master.mergeというエントリが
存在しないことに起因するエラーです。

rebaseして以来あらゆることを拒絶される

rejected.png
コマンド19:「git pull」-ほかのリポジトリの変更点をローカルリポジトリにマージする

 ほかのリポジトリで加えられた変更点を現在のブランチにマージするには、「git pull」コマンドを利用する。

$ git pull <変更点の取り込み元リポジトリ>

 変更点の取り込み元リポジトリは、git cloneの場合と同様にURLで指定する(表1)。また、git cloneコマンドで作成したリポジトリの場合、.git/config内の「remote」項目などに複製元リポジトリのURLが自動的に記録されるため、複製元リポジトリからpullを行う場合は下記のように取り込み元リポジトリを指定しなくとも実行できる。

$ git pull

コマンド20:「git push」-公開リポジトリに自分のリポジトリの内容を送信する

 git pullはほかのリポジトリの内容を自分のリポジトリに取り込むものだったが、逆に自分のリポジトリの内容をほかのリポジトリ(一般的には公開リポジトリ)に送信して取り込ませるコマンドが「git push」である。

遭遇したエラー

$ git pull --rebase
First, rewinding head to replay your work on top of it...
Fast-forwarded master to コミットハッシュ.

サポートサイト Wikidot.com