ずいぶんgitコマンドを使うシーンがなかったので思いだしがてら
よく使うgitコマンドのメモ。
# サーバリポジトリから最新を取得(fetch)し対象のブランチ[develop]にローカルを切り替える
git fetch -p && git checkout develop
# ローカルの変更を取り消して最新化
git reset --hard; git pull
# リモートサーバのブランチも全表示
git branch -a
# サーバの最新をローカルリポジトリに反映
git fetch -p
# ローカルを対象のブランチに変更
git checkout release_branch_1
# リリース用ブランチなどから作業用ブランチを作成し、ローカルブランチも切り替え
git checkout -b "#sagyo_123" origin/release_branch_1
# 現在のブランチの分岐元をリモートサーバのブランチの最新状態に変更する
git rebase origin/release_branch_1
# もしくは
git pull --rebase origin release_branch_1
# 競合した場合は修正してリベースを実行(rebaseを取り消す場合は --abortオプション)
# 履歴が書き換わっているため、強制PUSH(-f)でリモートブランチを書き換える
# 自分だけが使っているbranchであるなど強制PUSHしてよいこと前提
# (最近はもう使わないのかな・・?)
git push -f origin "#sagyo_123"
# gitログの簡易確認。1行にして見る場合は以下で操作ログの確認
git log --oneline
# gitログの簡易確認に(こちらは↓に例を示す)
git log --stat
出力例はこんな感じ
$ git log --stat
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date: Mon Mar 17 21:52:11 2008 -0700
changed the version number
Rakefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon <schacon@gee-mail.com>
Date: Sat Mar 15 16:40:33 2008 -0700
removed unnecessary test
lib/simplegit.rb | 5 -----
1 file changed, 5 deletions(-)
commit a11bef06a3f659402fe7563abf99ad00de2209e6
Author: Scott Chacon <schacon@gee-mail.com>
Date: Sat Mar 15 10:31:28 2008 -0700
first commit
README | 6 ++++++
Rakefile | 23 +++++++++++++++++++++++
lib/simplegit.rb | 25 +++++++++++++++++++++++++
3 files changed, 54 insertions(+)
# gitログの確認。個人的に好きなやつ。prettyの指定は用途によって変える。
# 以下は「出力フォーマット:ファイル名のみ 日付形式指定あり 「[Commiterの日付] 件名 [Committerの名前]」 直近1か月以内 カレントディレクトリは以下のみ
git log --name-only --date=iso-local --pretty=format:"[%cd] %s [%cn]" --after="1 month ago" -- .
# 特定ブランチ間の差分コミットを表示。以下はマージコミットのみを表示(--merges)
git log --merges master..release_branch_1 --oneline --graph --decorate
# commit間やbranch間でファイル指定の差分チェック
git diff commit-id1 commit-id2 -- xxFOLDER/yyFILE.js