Help us understand the problem. What is going on with this article?

よく使うgitコマンド

よく使用するgitコマンドを備忘録がてらまとめます。
随時更新予定

ブランチ関連

ブランチの一覧を見る

git branch -a

ブランチを作成

git checkout -b 【作成するブランチ名】

ブランチを切り替える(コマンド例は別ブランチからmasterに切り替える)

git checkout master

現在のブランチ確認

git branch --contains

ブランチ削除

git branch --delete 【ブランチ名】

ローカルブランチ名を指定して、リモートブランチをチェックアウト

git checkout -b 【ローカルブランチ名】 origin/【リモートブランチ名】

ローカルブランチ名変更

git branch -m 【古いブランチ名】 【新しいブランチ名】

追加、登録関連

前回のコミットと比較してどのファイルが変更されたかを表示

git status

ファイルやディレクトリをインデックスに登録

git add 【修正ファイル名】

すべての修正をインデックスに登録

git add -A

ファイルやディレクトリのadd取消

git reset HEAD 【ファイル名】

インデックスに追加されたファイルをコミットする

git commit

直前コミットのコメント修正

git commit --amend -m "コメント"

変更関係

ディレクトリの変更

git mv 【ファイル名】 【ディレクトリ】

取消関係

ファイルの変更取り消し

git checkout 【ファイル名】

特定のコミットまで戻す

git reset --hard 【ログのハッシュ値】

Push関連

ブランチをリモートに登録

git push -u origin 【作成したブランチ名】

リモートリポジトリに変更を書き込む

git push 【リモートリボジトリ】 【ブランチ名】

リモートリポジトリ確認

git remote -v

リモートリポジトリ追加

git remote add 【追加するリモートリポジトリ名】【追加したいリポジトリ】

リモートリポジトリ削除

git remote rm 【削除したいリモートリポジトリ名】

URL変更

git remote set-url origin [変更先のURL]

リモートリボジトリ名変更

git remote rename [変更前リポジトリ名] [変更後リポジトリ名]

pull関連

git pull 【リモートリボジトリ】 【ブランチ名】

merge

ブランチの変更を取り込む

git merge 【ブランチ名】

ログ関連

履歴を確認

git log

過去コミットを改変してコミットも直す

git rebase -i 【コミットハッシュ】

エディタが開くので、「pick」を「edit」に修正

git commit --amend --author="example <example@example.com>"
git rebase --continue

差分関連

前回コミット(HEAD)からの差分

git diff 【コミットID】

clone関連

git clone (サーバにSSHで接続。/opt/git配下にリモートリポジトリある想定)

git clone ssh://git@【サーバIP】/opt/git/【リモートリポジトリ】.git

stash関連

作業の一時退避

git stash save

退避した作業の一覧

git stash list

退避した作業を戻す

$git stash apply stash@{0}    // stash@{0}は戻したいstash名(listで確認)

退避した作業の削除

git stash drop // 最新の退避した作業を削除
git stash drop stash@{0} // 0番目の退避した作業を削除。stash@{0}は削除したいstash名(listで確認)

config関連

名前設定

git config --global user.name 【名前】

メールアドレス設定

git config --global user.email 【メールアドレス】
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away