add
コミット対象ファイルをインデックスに登録するためのコマンドです。
-
ファイル
git add [file1] [file2] ...
-
フォルダ
git add [dir]
-
現在フォルダ
git add .
branch
-
新規作成
git branch <name>
- 新規と追跡(トラッキングブランチ)
git branch development origin∕development
- 追跡設定(トラッキングブランチ)
git branch -u origin∕development development
git branch --track development origin∕development
- 新規と追跡(トラッキングブランチ)
-
削除
-
git branch -D develop
:ローカル -
git push origin --delete feature/XXXXX
:リモートrepository
-
-
変更
git branch -m <new branchname>
-
確認
- 全て
git branch -a
- local
git branch
- remotes
git branch -r
- マージ済み
git branch --merged
- 詳細表示
git branch -v
- 全て
-
追跡指定
現在チェックアウトしているブランチが、指定したリモートブランチを追跡するようにする。git branch -u <upstream>
git branch -u <upstream> <branchname>
git branch --unset-upstream <branchname>
-
Pushローカル
git push origin newBranch
-
ローカルブランチとリモート
git branch --set-upstream-to origin/newBranch
checkout
- 変更取り消し
- ファイル指定
git checkout <filename>
- 全て
git checkout .
- ファイル指定
- 追跡
git checkout -b development origin∕development
clean
Git による管理されていないファイルを、作業ツリーから削除します。
git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>…
- 削除
git clean
clone
リモートリポジトリをローカルリポジトリに複製(コピー)するためのコマンド
です。
git clone <url>
- プロジェクト名指定
git clone https://github.com/kitaaaa-kitsune/training <projectname>
commit
インデックスにあるファイルの変更内容を「コミット」するためのコマンドです。
- コミット
git commit -m "<message>"
- コミット取消soft
git reset --soft HEAD^
:add残す - コミット取消hard
git reset --hard HEAD^
- コミット取消mixed(よく使われている)
git reset --mixed HEAD^
orgit reset HEAD^
- コミットのコメントを修正
git commit --amend
diff
「ワーキングディレクトリ」と「インデックス」の差分を表示するためのコマンドです。
- pull前にリモートとの変更点
git diff HEAD..リモート名/ブランチ名
- push前にリモートとの変更点
git diff リモート名/ブランチ名..HEAD
- add前に変更点
git diff
- add後に変更点
git diff --cached
- コミットした変更点
git diff HEAD^
- コミット同士
git diff 変更前のSHA..変更後のSHA
- ブランチ同士
git diff ブランチA..ブランチB
- ファイルの変更点
git diff -- 対象のファイルパス
- 別ファイル同士の比較
git diff -- ファイルパスA ファイルパスB
- ファイル名だけ表示
git diff --name-only
fetch
リモートリポジトリの情報をローカルリポジトリに反映するためのコマンドです。
init
リポジトリを作成するためのコマンドです。
log
- 全てログ
git log
- 特定ブランチ
git log --first-parent <ブランチ名>
- 特定の期間
- 指定した日付以降のコミットログを表示する
git log --since 日付
- 指定した日付以前のコミットログを表示する
git log --until 日付
- 日付1から日付2までの期間のコミットログを表示する
git log --since 2020/2/1 --until 2020/2/29
- 指定した日付以降のコミットログを表示する
- ユーザ
git log --author=ユーザーネーム
- キーワード
git log --grep=commentキーワード
- 逆順
git log --reverse
merge
特定のブランチやリビジョンを、現在のブランチに取り込むためのコマンドです。
- マージ
git merge origin/master
現在のブランチにリモートブランチ「origin/master」を取り込む
pull
git fetch
とgit merge
の2つをまとめて実行するコマンドです。
「--rebase」オプションを使うことで、「merge」の代わりに「rebase」を実行することができます。
git pull origin master
git pull --rebase origin master
push
- push
git push origin master
- pushと追跡
次回からgit push
でリモートリポジトリにプッシュ
git push -u origin master
rebase
マージと同じように、ほかのブランチのリビジョンを取り込むコマンドです。
remote
ローカルリポジトリで指定するリモートリポジトリの追加や削除をおこなうためのコマンドです。
reset
コミットやインデックス登録をリセットするためのコマンドです。
インデックスに登録したファイルをリセット(登録前に戻す)しています。
status
追跡確認 git status -sb
オプション
-
-s --short
: ショートフォーマットで出力します。 -
-b --branch
: ブランチと追跡情報を表示します。
参考:https://tracpath.com/docs/git-status/
reflog
現在のHEAD位置および、過去のコミットのHEADでの表記を一覧で参照できるコマンド
- HEADの履歴表示
git reflog
-
HEAD
:現在作業中のブランチ -
HEAD -> master
:現在作業中のブランチがmasterブランチと同じ -
HEAD@{0}
:0番目のHEAD=現在作業中のブランチ -
HEAD@{1}
:1つ前のコミット(現在作業中のブランチから1つ遡る) -
HEAD@{n}
:n個前のコミット(現在作業中のブランチからn個遡る)
-
- HEAD移動
-
HEAD~
:~の数がn個前になる。例は「HEAD@{1}」と同じ。 -
HEAD^
:^の数がn個前になる -
@^
:^の数がn個前になる -
@~
:~の数がn個前になる
-
name-rev
ハッシュからブランチ名を確認
git name-rev ce2f63d77ca0049f04bf5466bb240d59e8fbcd9f