目次

92 Gitコマンド

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 <hoge@hoge.com>"
$ 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)