hasen's tech life

Twitter: @hasen

git復習

gitコマンドの復習.

# git管理下のファイルをワーキングツリーから削除し,インデックスに反映した状態にする
$ git rm FILE_NAME
 
# HEADは複数ある
・HEAD: checkoutしているブランチの最新commit
・FETCH_HEAD: 最後に取得したリモートブランチの最新commit
・ORIG_HEAD: 前のHEAD
・MERGE_HEAD: マージ中に生成されるブランチにマージするコミット
 
# initは.gitがサブdirに作られbareは同一dirに生成される.bareはワーキングツリーを使用しないリモートリポジトリの生成で使う
$ git init --bare DIR_NAME
# 共有する場合は
$ git init --bare --shared DIR_NAME
 
# git管理されていないファイルを削除する
# 削除されるファイルを確認する
$ git clean -n
# 実際に削除する
$ git clean -f
# ignoreされているファイルも対象にする
$ git clean -xn
 
# インデックス,ワーキングツリーをgrepする
$ git grep SEARCH_WORD
# インデックスからのみgrepする
$ git grep --cached SEARCH_WORD
# 正規表現を使う
$ git grep -e SEARCH_WORD
 
# ignoreに例外を追加する
++ .*
++ !.gitignore
 
# conflictが起きた時にblameをすると迷わない
$ git blame FILE_NAME
 
# zipを作る
$ git archive --format=zip TAG_NAME | gzip > ZIP_NAME.zip
 
# 特定のremote-branchと連携するlocal-branchを作成する
$ git branch BRANCH_NAME REPO_NAME/BRANCH_NAME
# branchの最新commit, messageを表示する
$ git branch -v
# branchの名前変更
$ git branch -m OLD_NAME NEW_NAME
 
# 行指定でblameする
$ git blame -L START_NUM,END_NUM FILE_NAME
 
# merge時に編集内容を一旦退避する
$ git stash save STASH_NAME
# 退避一覧を見る
$ git stash list
# 退避内容を取り出す
$ git stash pop stash@{n}
# 退避内容を削除する
$ git stash drop stash@{n}
# 退避内容を全て削除する
$ git stash clear
 
# patchの形式にformatする(HEADの場合でもTARGET_COMMITを省略できない)
$ git format-patch -o TARGET_DIR TARGET_BRANCH TARGET_COMMIT
# ex
$ git format-patch -o ../test_patch master HEAD^3
 
 
Gitによるバージョン管理
Gitによるバージョン管理
posted with amazlet at 14.09.15
岩松 信洋 上川 純一 まえだこうへい 小川 伸一郎 
オーム社 
売り上げランキング: 307,612