リベース:ベースポイントの再設定#
現在のbranch
のベースポイントを目標ブランチに移動します。これにより、メインのmaster
が明確になります。
git rebase <目標ブランチ>
ただし、rebase
後、master は追随しませんので、マージが必要です:
git checkout master
git merge <先ほどのブランチ>
これにより、master とブランチがマージされます。
先ほどのコミットに誤りがあります。修正するにはどうすればいいですか?#
ファイルを修正した後、--amend
を使用すると、新しいcommit
が生成され、最後のcommit
が置き換えられます。
git add ファイル
git commit --amend -m 説明
誤ったのは最後から 2 番目の commit であり、最後の commit ではありません。修正することはできますか?#
もちろん可能です。ここでは、対話型のrebase
を使用できます。パラメータ:-i
git rebase -i HEAD^^
ここでの^^
は、いくつかのcommit
を後退させることを意味します。数は^
の数であり、~2
と書くこともできます。数字は後退する数を表します。
Enter キーを押すと、編集可能なページに入ることがわかります。注意すべきは、上記のcommit
の並び順が逆順であることです。各commit
の前にはpick
があります。i
を押して編集に入り、再度編集したい commit の前のpick
をedit
に変更します。画面を終了した後、現在のcommit
になっていることがわかります。修正が完了したら、--amend
を使用してコミットし、成功したらgit rebase --continue
を使用して修正不要なcommit
をスキップします。全体のプロセスが終了します。
diff:比較#
変更を比較するために使用します。
git diff // ワーキングディレクトリとステージングエリアを比較
git diff --staged // ステージングエリアと前回のコミットを比較
git diff HEAD // ワーキングディレクトリと前回のコミットを比較
ワーキングディレクトリを一時的に保存したいですか?#
ワーキングディレクトリを一時的に保存してクリアします。
git stash
Warning
-git stash
は、追跡されていないファイルを一時的に保存しません。新しいファイルを作成し、add
する前にstash
する場合、そのファイルは保存されません。これらのファイルを一緒に保存するには、-u
を使用してください。
- ファイルを復元するには、git stash pop
コマンドを使用してください。
コミットを元に戻したいですか?#
reset
はHEAD
とbranch
の位置をリセットします。
git reset <ブランチ名またはSHA-1>
--mixed
デフォルトで、ワーキングディレクトリとステージングエリアをすべてワーキングディレクトリに保存します。--hard
:ワーキングディレクトリを保持せず、ワーキングディレクトリはクリアされます!--soft
:ワーキングディレクトリとステージングエリアを保持します。