Open19

Gitコマンド

カズマルカズマル

変更を記録(コミット)

git commit
git commit -m "メッセージ"
git commit -v

「-v」オプションはエディタでメッセージ編集できかつ変更内容を確認できる。

カズマルカズマル

変更差分を確認

# git addする前の差分
git diff
git diff <ファイル名>

# git addした後の差分
git diff --staged
カズマルカズマル

変更履歴を確認

git log

# 1行で表示
git log --oneline

# ファイルの変更箇所を表示
git log -p index.html

# 表示するログ数を指定
git log -n <コミット数>
カズマルカズマル

ファイルの削除を記録

git rm <ファイル名>
git rm <ディレクトリ名>

# ファイルを残したい場合
git rm --cached <ファイル名>

「git rm」するとステージに上がるため、その後「git add」する必要はない。

カズマルカズマル

ファイルの移動を記録

git mv <旧ファイル名> <新ファイル名>

# 以下のコマンドと同様の動き
mv <旧ファイル名> <新ファイル名>
git rm <旧ファイル名>
git add <新ファイル名>

「git mv」するとステージに上がるため、その後「git add」する必要はない。

カズマルカズマル

リモートリポジトリを新規追加

git remote add origin https://github.com/xxxx

originはただの慣習的な名前のため、任意の別名をつけることも可能。

カズマルカズマル

リモートリポジトリへ送信

git push origin master

「-u」オプションを付けると次回以降git pushだけでpushできる。

カズマルカズマル

コマンドのエイリアス設定

git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
git config --global alias.co checkout

--globalをつけるとシステム全体の設定として登録される。
--globalを省略した場合、そのプロジェクト内だけの設定として登録される

カズマルカズマル

.gitignoreファイル書式

# 指定したファイルを除外
index.html
#ディレクトリ以下を除外
dir /
# ワイルドカードの指定
/*/*.css
カズマルカズマル

変更を元に戻す

ワークツリーの変更を取り消す

# ファイルの変更を取り消す
git checkout -- index.html

# ディレクトリの変更を取り消す
git checkout -- dir

# 全変更を取り消す
git checkout -- .

ステージの変更を取り消す

# ファイルの変更を取り消す
git reset HEAD index.html

# ディレクトリの変更を取り消す
git reset HEAD dir

# 全変更を取り消す
git reset HEAD .

git resetはワークツリーの変更には影響しない。

カズマルカズマル

直前のローカルコミットをやり直す

git commit --amend

リモートリポジトリへpushしたコミットはやり直してはいけない。

カズマルカズマル

リモートリポジトリの情報表示

git remote

#対応するURLを表示
git remote -v
カズマルカズマル

リモートから情報取得(fetch)

git fetch origin

remotes/リモート/ブランチに情報が取得される。

カズマルカズマル

リモートから情報を取得してマージする

git pull origin master

# 省略も可能
git pull

# 下記コマンドと同じ
git fetch origin master
git merge origin/master
カズマルカズマル

ブランチの変更を退避

git stash

# 退避したstashリストを確認
git stash list

# 退避したstashを復元
git stash apply stash@{スタッシュ番号}

# 最新の退避した変更を復元
git stash apply

# 最新の退避したステージの変更を復元
git stash apply --index

# 退避した変更を削除
git stash drop stash@{スタッシュ番号}

# 最新の退避した変更を削除
git stash drop

# 全変更を削除
git stash clear