( )

Git まとめ

初期設定

~/.gitconfig

[user]
	name = <userName>
	email = <userMail>
[color]
	ui = auto
[filter "lfs"]
	process = git-lfs filter-process
	required = true
	clean = git-lfs clean -- %f
	smudge = git-lfs smudge -- %f
[alias]
    st = status
    co = checkout
    gr = grep
    d = diff
    cm = commit
    b = branch
    rs = reset
    sb = submodule
    f = fetch

エイリアスを設定しておくと便利です。

cherry-pick (特定のコミットを反映)

特定のコミットの修正を反映する。cherry-pick したコミット名で自動的にコミットされる。

git cherry-pick [コミット]
  • -n … 自動コミットさせない(–no-commit)

rebase (過去のコミットを修正する)

指定したコミットまで遡って、ファイルの修正、コメントの修正などができる

git rebase -i [コミット]
  • 修正したいコミットの一つ過去のコミットIDを指定する
  • エディタが起動するので、修正したいコミットをpickからeditに変更して保存

ファイルを修正するなどしたら、

git rebase --continue

で次のeditにしたコミットに進む。無ければSuccessfully rebased and updatedと出力され rebase 完了。ただし、もしコンフリクトしていたら途中で rebase が止まり修正が必要になる。

checkout (特定のブランチ/ファイルに入る)

ブランチを切り替える

git checkout <ブランチ名>

ファイルを特定のコミットの時点のものにする

「このファイルだけこの時の状態に戻したい」という時に便利

git checkout <コミットID> <ファイル>

特定のコミットに入る

指定したコミットの時の状態を反映します。detatched HEAD という、ブランチとは切り離された状態になるため、この時は実験的な修正や一時的に確認したいときなどに留める。

git checkout <コミットID>

関連記事