リベース:ベースポイントの再設定#
現在の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:ワーキングディレクトリとステージングエリアを保持します。