Skip to content

Latest commit

 

History

History
66 lines (48 loc) · 3.7 KB

File metadata and controls

66 lines (48 loc) · 3.7 KB

コミット操作コマンド

コミットの修正、スカッシュ、取り消し、トラッキング設定などのコミット管理に関するコマンドです。

git amend

直前のコミットを git commit --amend で再編集します。追加のオプションはそのまま渡せます。

git amend
git amend --no-edit
git amend -h                     # ヘルプを表示

動作:

  1. git commit --amend を呼び出し、直前のコミットを再編集します。
  2. サブコマンドに渡した追加の引数は、そのまま git commit --amend に引き渡されます(例: --no-edit--reset-author)。
  3. Git コマンドの終了コードを引き継ぐため、エディタを閉じるまで待機し、失敗時は同じ終了ステータスで終了します。

git squash

直近の複数コミットを対話的にスカッシュします。引数なしで実行すると最近のコミットを表示して選択できます。

git squash           # 対話的にコミット数を選択
git squash 3         # 直近3つのコミットをスカッシュ
git squash -h        # ヘルプを表示

動作:

  1. 引数なしで実行すると、最近の10個のコミットを表示し、スカッシュするコミット数を入力で指定できます。
  2. 引数でコミット数を指定すると、その数のコミットを確認表示してからスカッシュします。
  3. 確認後、git reset --soft HEAD~N でコミットを取り消し、元のコミットメッセージを参考表示します。
  4. 新しいコミットメッセージをユーザーが入力し、自動的に新しいコミットを作成します。

git undo-last-commit

直近のコミットを取り消し、変更内容をステージング状態のまま残します。

git undo-last-commit
git undo-last-commit -h          # ヘルプを表示

動作:

  1. git reset --soft HEAD^ を実行し、直近のコミットだけを取り消します。
  2. 作業ツリーとステージング内容はそのまま残るため、コミットメッセージを修正したいときや再コミットしたいときに便利です。

git track

現在のブランチにトラッキングブランチを設定します。リモートブランチがなければ自動的にプッシュします。

git track                    # origin/<現在のブランチ名> をトラッキング(リモートブランチがなければ自動プッシュ)
git track upstream           # upstream/<現在のブランチ名> をトラッキング
git track origin feature-123 # origin/feature-123 をトラッキング
git track -h                 # ヘルプを表示

動作:

  1. 引数なしで実行すると、現在のブランチに対して origin/<現在のブランチ名> をトラッキングブランチとして設定します。
  2. リモート名を指定すると、そのリモートの同名ブランチをトラッキングします(例: upstream)。
  3. リモート名とブランチ名の両方を指定すると、そのリモートブランチをトラッキングします。
  4. 指定したリモートブランチが存在しない場合は、自動的に git push --set-upstream を実行してリモートブランチを作成し、トラッキング設定を行います。

git pull 実行時に「There is no tracking information for the current branch」というエラーが出た場合や、新しいブランチを作成後すぐに git push したい場合に便利です。リモートブランチがまだ存在しない場合でも、git track 一つでプッシュとトラッキング設定が完了します。