Gitでよく使うコマンド集
Page content
コマンドでのgit管理で基本的なもの、よく使うものをまとめた。
基本設定
$ git config --global user.name "name"
$ git config --global user.email "your@email.address"
リモートにあるプロジェクトをローカルにコピーする
リモートからcloneする
$ git clone https://github.com/{user}/{project}.git
ローカルにあるプロジェクトをgit管理としリモートに上げる
カレントディレクトリをgit管理する
$ git init
カレントディレクトリのファイルをgit管理に追加する
$ git add . # カレントディレクトリの全ファイル $ git add {file.name} # カレントディレクトリの特定ファイル
変更をcommitする
$ git commit -m "commit message"
リモートを追加しpushする
$ git remote add origin https://github.com/{user}/{project}.git $ git push -u origin master
ローカルの変更をリモートに反映させる
リモートの変更を取得する
$ git pull
ブランチを作成する・切り替える
$ git branch {branch_name] # 作成 $ git checkout {branch_name] # 切り替え $ git checkout -b {branch_name] # 作成 & 切り替え
編集したファイルをgit管理に追加する
$ git add . # カレントディレクトリの全ファイル $ git add {file.name} # カレントディレクトリの特定ファイル
変更をcommitする
$ git commit -m "commit message"
リモートにpushする
$ git push -u origin {branch_name}
ブランチ間で変更を反映する
commit履歴を見る
$ git log
他ブランチへの特定のcommitを取り込む
$ git cherry-pick {commit_id}
作業環境に別のブランチをマージする
$ git merge {branch_name} # ローカルブランチ $ git merge origin/{branch_name} # リモートブランチ
作業を取り消す
addを取り消す
$ git reset . # カレントディレクトリ以下の更新のaddを取り消し $ git reset {file.name} # 特定ファイルの更新のaddを取り消し
commitを取り消す
commit id
でなく、HEAD~{n}
で、n個前のcommitを指定することもできる。$ git reset --hard HEAD^ # 直前のコミットを取り消し、ワークディレクトリも書き換える $ git reset --soft HEAD^ # 直前のコミットを取り消す、ワークディレクトリはそのまま $ git reset --hard {commit_id} # 特定のコミットを取り消し、ワークディレクトリも書き換える $ git reset --soft {commit_id} # 特定のコミットを取り消す、ワークディレクトリはそのまま
pushを取り消す
$ git reset --hard {commit_id} $ git push -f
作業中の変更を一時的に退避させる
作業中の変更を退避させる
$ git stash save
退避させた作業中の変更一覧を確認
$ git stash list
退避させた作業中の変更一覧を確認
$ git stash apply {stash_name}
退避させた作業中の変更を削除
$ git stash drop {stash_name} # 特定のstashを削除 $ git stash clear # 全stashを削除
その他
コミットメッセージを変更する
$ git commit --amend "new commit message"
ファイルをgit管理から外す
一度git管理したファイルは.gitignoreに追加しただけではgit管理から外れないので、
git rm
で明示的にgit管理から外す必要がある。$ git rm -f {file.name}
ブランチを比較する
$ git diff {branch_name1} {branch_name2}
ブランチを削除する
$ git branch -d {branch_name} $ git branch -D {branch_name}