====== 92 Gitコマンド ======
[[http://qiita.com/merrill/items/375b20de0a5dbc35265d|Git コマンドまとめ]]
===== git clone =====
git clone git@github.hoge.hoge/test.git
===== git pull =====
マスターから同期
git pull origin master
ブランチから同期
$ git branch -a
* master
remotes/origin/master
remotes/origin/matsui-dev
$ git pull origin matsui-dev
===== git log =====
==== [svn log -v]のように ====
git log --stat
git log --name-status
git log --name-only
===== git reset =====
# 全ファイルをステージングから取り除く。ファイルの変更はそのまま残す
$ git reset
# 指定したファイルをステージングから取り除く。ファイルの変更はそのまま残す
$ git reset ファイル名
# 全ファイルをステージングから取り除く。ファイルの変更した箇所も変更前に戻す
$ git reset --hard
=== 特定のファイルのみを過去のある時点に戻す場合 ===
resetで--hardオプションだと、引数にファイル名を指定できません。
そのため、特定ファイルのみを戻す場合は、checkoutを利用します。
$ git checkout HEAD ファイル名
===== git checkout =====
$ git checkout [SHA]
-example
$ git checkout 7ffe59019ca83c95a89faf62bfd90290157574ef
===== git branch =====
ブランチ確認
$ git branch -a
ブランチ作成
$ git branch test_branch
ブランチ削除
$ git branch -d test_branch
ブランチ切り替え
$ git checkout test_branch
==== リモートにブランチ作成 ====
$ git branch matsui-dev
$ git push origin matsui-dev
==== リモートブランチの削除 ====
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/matsui-dev
$ git push --delete origin matsui-dev
===== merge =====
ブランチをmasterにマージする場合、一度masterにチェックアウトしてからマージを行う。
git checkout master
git merge matsui-dev
===== Author変更 =====
$ git commit --amend --author="Hoge Hoge "
$ git rebase --continue
===== git config =====
# git config -l
http.sslverify=false
user.name=Shinya Matsui
user.email=matsui@fl8.jp
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=ssh://gitprep@xx.xxx.xxx.xxx/pcg/git-test.git
branch.master.remote=origin
branch.master.merge=refs/heads/master
===== tag =====
タグの一覧確認
git tag -l
最新版にチェックアウト
git checkout $(git tag -l | sort -V | tail -n 1)
{{tag>git}}