Skip to content

Git Cheat Sheet#

基本設定#

git config --global user.name "[name]"
git config --global user.email "[your email address]"
git config -global color.ui auto

上から順に、

  • ユーザー名の設定
  • メールアドレスの設定
  • コマンドラインの結果を見やすくするための色設定

Tip

  • git config --global core.quotepath off
    • windows で正しく日本語を表示する

コマンドのヘルプ確認#

  • git [command] -h
  • git commit のヘルプを見る例:git commit -h

リポジトリの作成・複製#

リポジトリの新規作成・既存のリポジトリから複製

  • git init [プロジェクト名]
    • 指定した名前のローカルリポジトリを作成
  • git clone [URL]
    • リモートリポジトリを複製

リモートリポジトリの作成#

  1. mkdir [リモートリポジトリ名].git
  2. cd [リモートリポジトリ名].git
  3. git init --bare --share

Note

Windows の場合は上記に加え、フォルダの共有設定が必要です。

  • 上記の手順でリモートリポジトリを作成したら、ローカルリポジトリへ移動します。
  • git remote add [name] [url] にてリモートリポジトリを登録します。
  • git remote -v にて先ほどの設定を確認します
  • git push [alias] [branch] コマンドにてローカルリポジトリの変更内容をリモートリポジトリへ追加します。

変更の作成#

ファイルの変更履歴の管理

  • git status
    • コミット可能なすべての新規または変更のあるファイルを一覧で表示
  • git diff
    • ステージされていないファイルの差分を表示
  • git add
    • ファイルをステージングへ追加
  • git diff -staged
    • ステージングと最後のファイルバージョンとの差を表示
  • git reset [file]
    • ファイルをステージングから外すが、変更内容は保持
  • git commit -m "[description messeage]"
    • ファイルのスナップショットをバージョン履歴に記録

変更の整理#

一連のコミット(変更履歴)に名前を付けブランチとして管理

  • git branch
    • 現在のリポジトリ上のすべてのローカルブランチを一覧で表示
  • git branch [ブランチ名]
    • 新規ブランチを作成
  • git checkout [ブランチ名]
    • 指定されたブランチに切り替え、作業ディレクトリを更新
  • git merge [ブランチ]
    • 指定されたブランチの履歴を現在のブランチに統合
  • git branch -d [ブランチ名]
    • 指定したブランチを削除

ファイル名の整理#

  • git rm [ファイル]
    • 作業ディレクトリからファイルを削除し、削除をステージングに追加
  • git rm --cached [ファイル]
    • バージョン管理からファイルを削除して、ローカルファイルは保持
  • git mv [変更前ファイル名] [変更後ファイル名]
    • ファイル名を変更し、コミット。

Warning

  • git rm を実行すると実体ファイルが削除されます。
  • git mv を使用せずに直接ファイル名を変更すると、そのファイルの変更履歴は失われ、新規ファイルとして扱われます。

ファイルのトラッキング管理#

変更履歴管理から除外するファイルは.gitignoreファイルにて管理します。

.gitignore
*.log
.vsdcoe/
  • git ls-files --other --ignored --exclude-standard
    • プロジェクト内のすべての除外されたファイルを一覧で表示

途中の変更を保存#

  • git stash
    • すべての変更のあるトラックされているファイルを一時的に保存
  • git stash pop
    • 退避した作業を元に戻し、同時にstashのリストから削除
  • git stash list
    • すべての一時保存された変更セットを一覧で表示
  • git stash drop
    • 直近に一時保存された変更セットを一覧で表示
  • git stash clear
    • 退避した作業をすべて消す
  • git stash save "[stash message]"
    • 作業を退避するときにメッセージを追加
  • git stash show stacsh
    • 退避した変更の詳細をみる

履歴の確認#

  • git log
    • 現在のブランチのバージョン履歴を一覧で表示
  • git log --follow [ファイル名]
    • 名前の変更を含む指定したファイルのバージョン履歴の一覧を表示
  • git diff [first-branch]...[second-branch]
    • 二つのブランチ間の差分を表示
  • git show [commit]
    • 指定されたコミットのメタ情報と変更内容を出力する

コミットの修正#

ミスの削除と履歴の置き換え

  • git reset [commit]
    • [commit]以降すべてのコミットを取り消し、ローカルでは変更を保持します
  • git reset --hard [commit]
    • 指定されたコミットに戻り、それ以降のすべての変更を破棄
  • git reset --soft HEAD^
    • 直近のコミットを削除(変更内容は保持)

Tip

  • --soft:コミットのみ取り消し、変更内容は保持
  • --hard:コミットの取り消し、変更内容も破棄

変更の同期#

リポジトリのブックマークを登録し、バージョン履歴の交換

  • git fetch [bookmark]
    • リポジトリブックマークからすべての履歴をダウンロード
  • git merge [bookmark]/[branch]
    • ブックマークのブランチを現在のローカルブランチに統合
  • git push [alias] [branch]
    • すべてのローカルブランチのコミットをリモートリポジトリにアップロード
  • git pull
    • ブックマークの履歴をダウンロードし、変更を統合