Skip to content

Instantly share code, notes, and snippets.

@ohsawa0515
Last active August 29, 2015 14:03
Show Gist options
  • Save ohsawa0515/0ab7cf043ef9ba01a001 to your computer and use it in GitHub Desktop.
Save ohsawa0515/0ab7cf043ef9ba01a001 to your computer and use it in GitHub Desktop.
Dash cheatsheet of git command
cheatsheet do
title 'Git Command'
docset_file_name 'git_cheatsheet'
keyword 'gitc'
category do
id 'ツールの設定'
entry do
name '名前を設定する'
notes <<-'CODE'
```bash
$ git config --global user.name "[name]"
```
`~/.gitconfig` に追記される
CODE
#command 'git config --global user.name "[name]"'
#notes '~/.gitconfig に追記される'
end
entry do
name 'メールアドレスを設定する'
notes <<-'CODE'
```bash
$ git config --global user.emai "[email address]"
```
`~/.gitconfig` に追記される
CODE
#command 'git config --global user.email "[email address]"'
#notes '~/.gitconfig に追記される'
end
entry do
name 'コマンドラインの色を設定する'
notes <<-'CODE'
```bash
$ git config --global color.ui auto
```
`~/.gitconfig` に追記される
CODE
#command 'git config --global color.ui auto'
#notes '~/.gitconfig に追記される'
end
end
category do
id 'リポジトリの作成'
entry do
name 'リポジトリを初期化する'
notes <<-'CODE'
```bash
$ git init
```
カレントディレクトリに`.git`ディレクトリが作成される
CODE
end
entry do
name 'リポジトリをクローンする'
notes <<-'CODE'
```bash
$ git clone <url>
```
e.g.
```bash
$ git clone git@github.com:github-book/git-tutorial.git
```
カレントディレクトリに`.git`ディレクトリが作成される
CODE
end
end
category do
id 'ファイルをインデックスに追加する'
entry do
name 'ファイルをインデックスに追加する'
notes <<-'CODE'
```bash
$ git add [file]
```
CODE
end
entry do
name 'ワークツリーに新規作成された、もしくは変更されたファイルをインデックスに追加する'
notes <<-'CODE'
```bash
$ git add .
```
削除されたファイルはインデックスに追加されない
CODE
end
entry do
name '変更があったファイルのみをインデックスに追加する'
notes <<-'CODE'
```bash
$ git add -u
```
新しく作られたファイルはインデックスに追加されない
CODE
end
entry do
name 'ワークツリー以下のすべてのファイルをインデックスに追加する'
notes <<-'CODE'
```bash
$ git add -A
```
新規作成、修正、削除したすべてのファイルをインデックスに追加する
`git .` と `git -u` を足したもの
CODE
end
entry do
name 'パッチ形式を見ながらコミットに含める箇所を決めてインデックスに追加する'
notes <<-'CODE'
```bash
$ git add -p
```
`git add -p`とすると、各変更点についてインデックスに追加するかを聞かれる<br />
・`y` インデックスに追加する<br />
・`n` インデックスに追加しない<br />
・`q` このコマンドを修正して、`y`を選択したハンクのみをインデックスに追加する<br />
・`a` このハンクよりあとすべてをインデックスに追加する<br />
・`e` 変更単位を手動で変更する<br />
  ・`-` の行を `add` したくなかったら `-` を スペース(' ')に変更する<br />
  ・`+` の行を `add` したくなかったらその行を削除する<br />
・`s` さらに変更単位を分割する<br />
CODE
end
end
category do
id '比較・確認する'
entry do
name 'リポジトリの状態を確認する'
notes <<-'CODE'
```bash
$ git status
```
コミット可能なすべての新規または変更のあるファイルを一覧で表示する
CODE
end
entry do
name 'ワークツリーとインデックスの差分を確認する'
notes <<-'CODE'
```bash
$ git diff
```
git add した後に、`git diff`を実行しても、ワークツリーとインデックスの状態に差分が無いため、何も表示されない
CODE
end
entry do
name 'ワークツリーと最新コミットの差分を確認する'
notes <<-'CODE'
```bash
$ git diff HEAD
```
CODE
end
entry do
name 'インデックスと最新コミットの差分を確認する'
notes <<-'CODE'
```bash
$ git diff --cached
```
`git add` した後にコミット対象となる差分を確認するときに使う
CODE
end
end
category do
id 'ファイルをコミットする'
entry do
name 'ファイルをコミットする'
notes <<-'CODE'
```bash
$ git commit -m "commit message"
```
`-m` オプションを付けない場合、エディタが起動して詳細なコミットメッセージを編集できる
CODE
end
entry do
name '変更があったファイルのみをコミットする'
notes <<-'CODE'
```bash
$ git commit -a -m "commit message"
```
`-m` オプションを付けない場合、エディタが起動して詳細なコミットメッセージを編集できる<br />
`git add -u` と`git commit` を足したもの
CODE
end
entry do
name '変更点を確認しながらコミットメッセージを編集してコミットする'
notes <<-'CODE'
```bash
$ git commit -v
```
CODE
end
end
category do
id '履歴を確認する'
entry do
name '現在のブランチのコミットログを一覧表示する'
notes <<-'CODE'
```bash
$ git log
```
オプション<br />
・`-p` パッチ形式で表示する<br />
・`-[数字]` 表示する履歴数を指定する<br />
・`--pretty=short` 1行目のコミットメッセージだけを一覧表示する
CODE
end
entry do
name '指定したコミットの変更内容を表示する'
notes <<-'CODE'
```bash
$ git show [commit1][...][commit2]
```
2つのコミット間(`commit1`と`commit2`)の変更内容を表示する
CODE
end
end
category do
id 'ブランチを操作する'
entry do
name 'ブランチを一覧表示する'
notes <<-'CODE'
```bash
$ git branch
```
`-a` オプションをつけるとリモートブランチを含むすべてのブランチを一覧表示する
CODE
end
entry do
name 'ブランチを作成する'
notes <<-'CODE'
```bash
$ git branch [branch-name]
```
CODE
end
entry do
name '(ローカル)ブランチを削除する'
notes <<-'CODE'
```bash
$ git branch -d [branch-name]
```
リモートブランチを削除する場合<br />
```
$ git push origin :branch-name
```
CODE
end
end
category do
id 'ブランチを切り替える'
entry do
name 'ブランチを切り替える'
notes <<-'CODE'
```bash
$ git checkout [branch-name]
```
CODE
end
entry do
name 'ブランチを新規作成して切り替える'
notes <<-'CODE'
```bash
$ git checkout -b [branch-name]
```
`git branch [branch-name]` と `git checkout [branch-name]` を足したもの
CODE
end
entry do
name 'ファイルをコミット時の状態に戻す'
notes <<-'CODE'
```bash
$ git checkout [file-name]
```
すべてのファイルをコミット時の状態に戻す
CODE
end
entry do
name 'すべてのファイルをコミット時の状態に戻す'
notes <<-'CODE'
```
$ git checkout .
```
注意点として、新たに追加したファイルは削除されない
CODE
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment