仕事でもプライベートでもGitを使うことが多いので、
個人的に使うGitコマンドをまとめました。
Gitコマンド忘れた場合は是非、こちらのページを参考にしてください。
clone
- リモートリポジトリをローカルに複製する
git clone <リポジトリのURL>
remote
- fork元を追加する
git remote add <名前> <リポジトリのURL>
# よく使うのは
git remote add upstream <リポジトリのURL> #fork元リポジトリを追加する
fetch
- リモートリポジトリの情報を取得する
git fetch <リモート名>
# よく使うのは
git fetch origin
git fetch upstream
- フェッチする際にリモートリポジトリ上で削除されたブランチを削除する
git fetch -p <リモート名>
-p
は毎回つけたいので.gitconfig
のエイリアスに追加する
[alias]
fetch = fetch -p
switch
- ブランチを作成し、作成したブランチへ移動する
git switch -c <ブランチ名> <作成元ブランチ>
よく使うのは
git switch -c <ブランチ名> upstream/master #fork元のmasterから作成する
- ブランチを移動する
git switch <ブランチ名>
branch
- ブランチを作成する
git branch <ブランチ名> <作成元ブランチ>
よく使うのは
git branch <ブランチ名> upstream/master #fork元のmasterから作成する
- ブランチを削除する
git branch -D <ブランチ名> #カレントブランチを削除したい場合は一旦他のブランチに移動してから実行する
add
- 対象のファイルをインデックスに追加する
git add <ファイル>
- 全てのファイルをインデックスに追加する
git add .
#または
git add --all
restore
- 対象のファイルをワークツリーに移動する
git restore --staged <ファイル名>
- 対象のファイルをワークツリーから破棄する
git restore --worktree <ファイル名>
- 全てのファイルをワークツリーに移動する
git restore --staged .
- 全てのファイルをワークツリーから破棄する
git restore --worktree .
commit
- コミットする
git commit -m "コミットメッセージ"
- コメントメッセージを修正する
git commit --amend
push
- プッシュ先のブランチを追跡ブランチとして登録する
git push -u <リモート名> <ブランチ名>:<リモートリポジトリのブランチ名>
- 強制的にプッシュする
git push --force-with-lease <リモート名> <ブランチ名>:<リモートリポジトリのブランチ名>
pull
-
fetch + merge
ではなくfetch + rebase
で実行する
git pull --rebase
merge
- no fast-forwardでマージする
git merge --no-ff <ブランチ名>
rebase
- コミットを1つにまとめる
git rebase -i <コミットハッシュ値>
※rebase -i
については以下を参考にしてください。
https://qiita.com/KTakata/items/d33185fc0457c08654a5#git-rebase--i---interactive
- マージコミットを残したままリベースする
$ git rebase --rebase-merges <ブランチ名>
cherry-pick
- あるコミットの差分をインデックスに追加する
git cherry-pick -n <コミットハッシュ値>
stash
- 一時保存(退避)する
git stash push "メッセージ"
- 一時保存(退避)したものを戻す
git stash apply stash@{数字}
# 数字については
git stash list
# で確認
- 一時保存(退避)したものを戻して、削除する
git stash pop stash@{数字}