LoginSignup
4
1

More than 5 years have passed since last update.

【Git】コマンドチートシート

Last updated at Posted at 2018-07-22

Gitコマンドチートシート

ググると大量に出てくるチートシートだけどいまいちしっくり来る分類のものがなかったので自作。
詳しい説明とかはブログに掲載した。 ->【Git入門】Gitを使い始めたい人へ「Gitの導入」 ~A Beginner to Beginners~ 【その1】

リポジトリの作成

ローカルリポジトリの作成

$ git init

リモートリポジトリのクローン

$ git clone <repository_url> <directry>

Git設定

ユーザ名、Eメール設定

$ git config [--global] user.name "username"
$ git config [--global] user.email "email adress"

エディタ設定

$ git config [--global] core.editor <adress of editor>

バージョン確認

$ git --version

作業ファイル関連

ファイル削除+削除をステージ

$ git rm <filename>

ファイル名を変更してコミット

$ git mv <file-original> <file-renamed>

インデックスの操作

ステージする

$ git add <filename>
$ git add . #全ファイルadd

ステージしたくないファイルは「.gitignore」ってファイルを作って中にステージしたくないファイル名を書き込めばいい。

.gitignore
*~

とすれば「~」で終わるファイル全部スルーできる。

一度addした新規ファイルをインデックスから除外

$ git rm --cached <filename>

一度addした変更ファイルをインデックスから除外

$ git reset HEAD <filename>

インデックスをすべて空にする

$ git reset HEAD

インデックスにないファイルの差分を表示

$ git diff

コミット関連

インデックスの内容をコミットする

$ git commit

コミットメッセージを簡易的に指定してコミットする

$ git commit -m "commit message"

前のコミットを取り消したコミットを作成する

$ git revert HEAD

ワークツリーとインデックスを維持して直前のコミットを取り消す

$ git reset --soft HEAD~

ワークツリーを維持して直前のコミットを取り消す

$ git reset HEAD~

直前のコミットの状態に完全に戻す

$ git reset --hard HEAD~

resetでのHEADの移動を取り消す

$ git reset --hard ORIG_HEAD

直前のコミットに上書きして修正する

$ git commit --amend

ブランチ関連

ローカルブランチを一覧表示

$ git branch

リモートブランチも含めて一覧表示

$ git branch -a

新規ブランチを作成

$ git branch <new branchname>

新規ブランチを作成してそのブランチに切り替え

$ git checkout -b <new branchname>

既存のブランチに切り替え

$ git checkout <branchname>

ブランチを削除

$ git branch -d <branchname>

マージ関連

現在branchAにいて、branchAにbranchBをマージ。fast-forwardできるときはして、できないときは新規コミットをつくる

$ git merge branchB

branchBをマージするがfast-forwardできてもしないで新規コミットをつくる

$ git merge --no-ff

branchBを一つにまとめてbranchAにマージ

$ git merge --squash branchB

リベース関連

branchBの内容をbranchAにリベース

$ git checkout branchB
$ git rebase branchA

HEADの前に連続するn個のコミットをまとめる

$ git rebase -i HEAD~n

としたあと「pick」を「squash」に書き換え

HEADの前n個のコミット内容を修正する

$ git rebase -i HEAD~n

としたあと「pick」を「edit」に書き換え

その後書き換えたら

$ git add <filename>
$ git commit --amend
$ git --continue

rebaseを中断する

$ git rebase --abort

一つ前のrebaseを取り消す

$ git reset--hard ORIG_HEAD

タグ関連

タグ一覧を表示する

$ git tag

タグを検索する(*が使用可能 [ex: v1.1.*])

$ git tag -l <word>

タグを現在の最新のコミットにつける

$ git tag <tagname>

注釈付きタグを最新のコミットにつける(-mをつけなければエディタが起動)

$ git tag -a <tagname> -m "tag message"

過去のコミットにタグをつける

$ git tag <tagname> <commit>

リモートリポジトリとの同期

ローカルリポジトリと同期するリモートリポジトリを登録

$ git remote add <repository_name> <repository_url>

repositoryのbranchにプッシュする

$ git push <repository_name> <branchname>

リモートリポジトリから履歴をダウンロード

$ git fetch <repository_name> <branchname>

リモートリポジトリから履歴をダウンロードし統合

$ git pull <repository_name> <branchname>

タグをリモートリポジトリでも共有する

$ git push <repository> <tagname>

状態確認

現在の状態を確認

$ git status

履歴を表示

$ git log

logのオプション
[--follow] : 指定ファイルの履歴を表示
[--oneline] : 一行でコミット情報を表示
[--graph] : ツリー形式で表示

コミットの詳細を表示

$ git show <commit>

こんなもんかな?随時他にも使いそうなのあったら追加していく。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1