Git

Gitコマンド覚書

ローカル作業

add

特定のフォルダだけ追加する

git add directory

複数のフォルダを指定して追加する

git add dir1 dir2

複数のフォルダを指定して追加する(wildcard)

git add dir*/

commit

Text editorでコメントを書く

git commit

1行コメントを書く

git commit -m "comment"

複数行コメントを書く

git commit -m "summary" -m "detail1" -m "detail2"

config

設定例: コマンドエイリアスを作る

git config --global alias.co checkout
git config --global alias.ada 'add -A'
オプションを付ける場合はシングルクォートでくくる。

設定削除例: コマンドエイリアス

git config --global --unset alias.co

diff

ワーキングツリーの差分を見る

git diff

任意のファイル同士の差分を見る

git diff --no-index -- file_1 file_2

log

表示数を指定する

git log -n2
最近の変更だとわかっているとき

ログの1行めのみ表示する

git log --oneline
さっと探したいとき

ファイルをどうした(追加、削除、変更)のか知りたいとき

git log --name-status

merge

今のブランチにmasterをマージする(基本)

git merge origin/master

remoteブランチの内容を強制的に反映させる

git merge origin/master --theirs

remote

接続先リモートリポジトリのURLを知る

git remote -v

reset

ワーキングディレクトリの変更を戻す

git reset HEAD target/directory/path
SVN revertに相当する。

ローカルの変更をすべて破棄する

git reset --hard

まだpushしていないコミットを取り消す

(number は reflogコマンドで確認する)
git reset --hard HEAD@{number}

addを取り消す

git reset path...

rm

ファイルは残して管理外にする

git rm -r --cached directory
やっぱり管理をやめたいファイルがあるとき

ファイルも消す

git rm -r directory
git rm file

stash

現在のローカルの変更を保存する

git stash
git stash save "覚書ラベル"
stashの実行後は、ローカルの変更は消えてHEADに戻る

現在のローカルの変更の一部を保存する

git stash push --message "覚書ラベル" -- pathspec
特定のパス(pathspec)にあるファイルのみ。

最後に保存したstashを取り出す(stackからは消える)

git stash pop

最後に保存したstashを適用する(stackに残る)

git stash apply
ためしに適用してみたり、複数のブランチに適用したときに使う。

先頭のstashを破棄する

git stash drop

stashの一覧を見る

git stash list

特定のstashの内容(ファイル一覧)を見る

git stash show stash@{0}

tag

現在のブランチにタグをつける(そしてリモートに上げる)

git tag name_of_tag
git push origin name_of_tag

特定のコミットにタグをつける

git tag name_of_tag commit_hash

コメントを付けてタグを作成する

git tag name_of_tag -m "comment"

その他のtagコマンド

リモート

checkout

現在のブランチから新しいブランチを作る

git checkout -b NewBranch

push

ローカルで作成したブランチをpushする

git push --set-upstream origin

環境変数

環境変数一覧
gitではなく、Linux系の環境変数の設定方法だが、以下のように設定と解除を行う
export 変数名=値
unset 変数名

リモートとの接続(fetchやpull)がうまくいかないときに、
export GIT_CURL_VERBOSE=
としてから実行すると、curl -v 相当のログが出る。

  • config
  • diff
  • log
  • merge
  • remote
  • reset
  • rm
  • stash
  • tag
  • リモート
  • push
  • 環境変数