".gitignore"

  • 空ディレクトリをGitの登録対象に変更

http://quartet-communications.com/info/topics/13642

URL

  • originのURLを確認(リモートのリポジトリの表示)
$ git remote -v
  • originのURLを変更
$ git remote set-url origin <新しいリポジトリURL>

diff

  • commit前の状態と比較
$ git diff --cached
  • 別ブランチのファイルを比較
$ git diff tst:config/etc/hosts prd:config/etc/hosts

同名ファイルの場合は以下でもOK

$ git diff tst prd -- config/etc/hosts
  • タグ間で比較
$ git diff  v0.1 v0.2
  • "--stat"でサマリ表示
$ git diff --stat v0.1 v0.2
 config/etc/hosts  | 7 ++++---
 config/etc/resolv | 1 -


修正

  • work treeを直前の状態に戻す
$ git reset --hard HEAD
  • work treeの特定のファイルを直前の状態に戻す
$ git checkout HEAD ファイル名
  • 直前のcommitのコメントを修正
$ git commit --amend


status

修正ファイルとブランチを表示

$ git status -s -b
## dev
 M etc/hosts


Branch

  • 分岐の作成
$ git branch
* master
$ git branch test
   test
* master
$ git checkout test
Switched to branch 'test'
$ git branch
* test
  master


log

  • ページャを表示しない
$ git config --global core.pager ''

または

$ vi ~/.gitconfig
[core]
	pager =


tag

  • タグを打つ
$ git tag $(uname -n)_$(date "+%Y%m%d-%H%M%S")
  • 全ブランチを対象にリスト
$ git tag
  • アノテーションを付与して表示
$ git tag -n
  • タグを検索
git tag -l "v*"  # "v"から始まるtagを検索
  • 検索結果にアノテーションを付与
$ git tag -n -l v*
  • チェックアウト

参考:http://d.hatena.ne.jp/kanonji/20110304/1299211488

$ git clone ssh://github.com/foo/bar
$ cd bar
$ git tag
v0.1
v1.0
$ git checkout refs/tags/v1.0
# ブランチを作る場合は、
$ git checkout -b <ブランチ名> refs/tags/v1.0