gitの使い方

サブコンテンツ

git用語
gitの設定
ステージの状態
ファイル/ディレクトリ管理

ログ表示

ログを表示する

$ git log

1つのコミットを一行で表示する

$ git log --pretty=oneline

1つのコミットを一行で表示する(短縮ハッシュ)

$ git log --oneline

履歴をグラフィカル表示する

$ git log --all --graph

コミット間の違いを見る

コミット1に対して、どのような操作をすればコミット2になるかを表示する。
$ git diff コミット1 コミット2
$ git diff コミット2 コミット3 -- ファイル名 ※特定のファイルのみの違いを見る

ブランチの操作

すべてのブランチの表示

$ git branch

ブランチの作成

$ git branch 新ブランチ [分岐元ブランチ]

※分岐元ブランチを省略した場合は、masterブランチとみなされる

ブランチの切り替え

$ git checkout ブランチ名

ブランチの表示

$ git branch
$ git branch -v (コミット情報も表示する)

ブランチの削除

$ git branch -d ブランチ名

タグの操作

タグの作成

$ git tag タグ名 [コミット名]

※コミット名を省略した時はHEADにタグをつける。

タグの削除

$ git tag -d タグ名

注釈付きタグの作成

$ git tag -a タグ名 [コミット名]

※コミット名を省略した時はHEADに注釈付きタグをつける。

タグの表示

$ git tag

アーカイブの作成

tar.gzファイルの作成

$ git archive --format=tar --prefix=hogehoge-1.0/ \
<ブランチ名 or タグ名> | gzip > hogehoge-1.0.tar.gz

zipファイルの作成

$ git archive --format=zip --prefix=hogehoge-1.0/ \
<ブランチ名 or タグ名> > hogehoge-1.0.tar.gz

マージ

マージする

$ git merge ブランチ名

マージの中止(コンフリクト発生時)

$ git merge --abort

コンフリクト解消のためにファイルを編集してコミットする

$ git mergetool

早送りマージが可能な場合でも、3方向マージを行う

$ git merge --no-ff ブランチ名

コミットの取り出し

コミットにブランチを付けて取り出す

$ git checkout -b ブランチ名 コミット名

※コミット名には、ハッシュ値やタグを指定する

リモートリポジトリの操作

リモートリポジトリに名前をつける

$ git remote add リモート名 リモートリポジトリURL
$ git remote add origin https://github.com/solimataro/hogehoge.git

※慣習的に上流リポジトリにはoriginという名前を付ける。

リモートリポジトリの表示

$ git remote -v

ブランチをプッシュする

$ git push リモート名 ブランチ名

追跡ブランチを見る

$ git branch -r
$ git branch -r -v ※コミット情報も見る

リポジトリのクローンを取得する

$ git clone リモートリポジトリURL

追跡ブランチをローカルブランチに早送りマージする

$ git checkout master
$ git merge --ff-only origin/master

※git checkout origin/masterだと、Detached HEAD(切り離されたHEAD)状態になる。

リモートの更新を直接ローカルブランチに反映させる

$ git checkout master
$ git pull origin master

ローカルブランチの上流ブランチを設定する
(git pullで引数の指定が不要になる)

$ git branch --set-upstream 追跡ブランチ名 ローカルブランチ名
$ git branch -u 追跡ブランチ名 ローカルブランチ名

プッシュ時に上流ブランチを設定する

$ git push -u origin master 
※以降、git pushだけでプッシュできるようになる
$ git push

上流ブランチの表示

$ git remote show origin

広告

入門git(紀伊國屋書店)