» TechAcademyの無料体験

【随時更新】gitコマンド tips

【随時更新】gitコマンド tipsGit

普段よく使うgitコマンドを随時記載していく。

gitコマンド

gitコマンドのエイリアス設定

毎回長いコマンドを打つのは面倒なので、エイリアスの設定を以下に記載。

開発時によく使う

作業時にレビュー依頼が入った場合

# 作業途中のコードを一時退避(uオプション:untracked fileも含めて退避)
git stash -u
# リモートリポジトリの最新情報をローカルリポジトリに持ってくる
git fetch --prune
# ブランチ切り替え(switchではなく、checkoutでも可)
git switch ブランチ名
# レビュー後、作業していたブランチ(一つ前のブランチ)に戻る
git switch -
# 退避させていたコードを戻す
git stash pop

gitで管理したくないファイルやフォルダをpushしてしまった場合

# cachedオプションをつけることにより、ファイルを残したまま管理対象から外すことができる(フォルダの場合はrオプションが必要)
git rm -r --cached .vscode
echo '.vscode/' >> .gitignore

コンフリクトを解消するために色々変更とかしたけど、編集内容もマージも取り消したい場合

git reset --hard HEAD~

間違ってresetしてしまったのでreset前の状態に戻したい場合

# ORIG_HEAD:resetを実行する直前のcommit
git reset --hard ORIG_HEAD

直前にpushしたcommitメッセージを修正したい場合

git rebase -i Head~
# ↑変更したいコミットの先頭文字pickをeditに変更し保存
git commit --amend -m "commit message"
git log --oneline
git push --force-with-lease origin ブランチ名

作業内容やcommitを取り消したい場合

# commitだけ取り消したい
git reset --soft HEAD~
# add・commitを取り消したい
git reset --mixed HEAD~
# 変更箇所・add・commitも全て取り消したい
git reset --hard HEAD~

リリース時によく使う

対象ブランチの最新のtag名を確認 → 新しい軽量版のtag(v1.2.0)をつける → リモートへpush

git describe --tags --abbrev=0
git tag v1.2.0
git push origin v1.2.0

前回のtag(v1.1.0)と新しくつけたtag(v1.2.0)のファイルの差分が正しいか確認する

git diff --name-only v1.1.0 v1.2.0

タグのバージョンを間違えてしまった場合、正しいバージョン名のタグを追加した後、ローカルとリモートのタグを削除する。ただ、下記記事によるとpushしたtag名は削除・変更してはいけないとのこと

【git tag】プッシュしたtag名を削除・変更してはいけない理由〜manコマンドで読めるgitメンテナの怒り〜

# 正しい名前でタグを追加
git tag v1.2.1 v1.2.0
# ローカルのタグを削除する
git tag -d v1.2.0
# リモートのタグを一覧で確認する
git ls-remote --tags
# リモートのタグを削除する(「git push origin :タグ名」でも可)
git push origin --delete v1.2.0
# リモートのタグ一覧から指定したタグが削除できているか確認
git ls-remote --tags

その他

# 特定のタグを検索する
git tag -l "v1.*"
# 特定のタグ情報を確認する
git tag show v1.1.0

コメント

タイトルとURLをコピーしました