jinzhe

jinzhe

github
email

Git の進化

リベース:ベースポイントの再設定#

現在の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 の前のpickeditに変更します。画面を終了した後、現在の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コマンドを使用してください。

コミットを元に戻したいですか?#

resetHEADbranchの位置をリセットします。

  git reset <ブランチ名またはSHA-1>
  • --mixed デフォルトで、ワーキングディレクトリとステージングエリアをすべてワーキングディレクトリに保存します。
  • --hard:ワーキングディレクトリを保持せず、ワーキングディレクトリはクリアされます!
  • --soft:ワーキングディレクトリとステージングエリアを保持します。
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。