Gitコマンドについて調べる【git fetch】

git fetch

git fetchは、リモートリポジトリの変更をローカルリポジトリに取り込みます。ローカルリポジトリには取り込みますが、ワーキングツリーには反映されませんので、現在編集中のファイルが変更されることはありません。

$ git fetch

引数なしで実行したとき、upstreamブランチの設定がない場合はデフォルトでoriginのリモートブランチをfetchします。リモートリポジトリ名、ブランチ名を指定する事もできます。

$ git fetch [リモートリポジトリ名]
$ git fetch [リモートリポジトリ名] [ブランチ名]

例)

$ git fetch origin
$ git fetch origin master

オプション

--all

すべてのリモートブランチをfetchします。

$ git fetch --all

-p--prune

リモートブランチで消去されたブランチをローカルブランチからも自動的に消すオプションです。masterブランチにマージされ消去したリモ^とブランチもgit fetchするだけではローカルブランチからは消えません。ですので-pまたは--pruneオプションでローカルブランチからも消去します。

$ git fetch -p
$ git fetch --prune

Gitを勉強するときに役立ったもの

Git勉強中ですが、いろいろなページやスライドを見てすごく参考になりましたのでまとめました。

Git入門編

この方のスライドは本当にわかりやすかったです。コマンドことに作業ディレクトリ、ステージングエリア、Gitディレクトリの流れを図で説明していただけるのでイメージを掴むことができました。

 
 
 
こちらのアシアルさんのブログ記事も非常にわかりやすかったです。以前はSubversionを使用していたので2つのいいとこ取りをしているというとことに納得でした!

blog.asial.co.jp

コマンド編

基本的なコマンドを知るにはドットインストールがいいと思いました。

dotinstall.com  
 
 
ブランチやmarge、rebaseの違いについて学ぶには以下のスライドわかりやすかったです。何よりスライドが見やすくて、スライドの作り方としても参考になるものでした。

 
 
 
transitive.info【Git 使い方 見出し一覧】はコマンドごとにオプションや使い方を記載しているので、とても参考になりました。

transitive.info - Git 使い方 見出し一覧  
 
 

本格的に学習する

書籍としてはGithub実践入門が入門書としては良いかと思います。

www.amazon.co.jp  
 
 
Pro Gitという書籍のPDFが無料で配布されていてとてもありがたいです。

Pro Git 日本語版電子書籍公開サイト  
 
 

その他

Gitチートシートもありましたので時々参考にしています!

ndpsoftware.com

Gitコマンドについて調べる【git checkout】

git checkout

ブランチを切り替えるコマンドです。

subversionを使用していた方は、チェックアウトというとリモートからローカルにコピーするイメージですが、gitのチェックアウトは意味が違い、ブランチを切り替えるコマンドになりますのでお気をつけください。

$ git branch [変更したいブランチ名]

ローカルの作業ブランチを切り替えます。変更したいブランチがローカルに存在しない場合はブランチの切り替えをすることができませんが、リモートには存在していた場合はリモートからブランチを取り込み、その取り込んだローカルブランチに切り替えることができます。

Gitコマンドについて調べる【git branch】のエントリーでも書いたとおり、-bオプションをつけると、新しくブランチを作成してからそのブランチに作業ブランチを切り替えることができるので便利です。

# ブランチを新しく作成して切り替える
$ git checkout -b [新しく作成するブランチ名]

ファイルの変更を取り消す

$ git checkout [変更を取り消したいファイル]

git checkoutの後にファイル名を指定すると、指定したファイルの現在の修正を取り消し、最後のコミットの状態まで戻します、変更はしたけどもう一度最初からやり直したい場合になどによく使います。

すべてのファイルを強制的に元の状態に戻すには-fオプションを使います。

$ git checkout -f