1

私はローカルブランチに取り組んでいVISSます。次に、以前のコミットをチェックアウトすることにしました。

git チェックアウト 98ea3c8042c39e

コードにいくつかの重要な変更を加えました。そして、私は再びコミットしました。

VISSここで、これらの変更を保持してブランチに戻る必要があります。

次の場合はどうすればよいですか。

  1. VISS以前のコミットにチェックアウトする前に行われたことを破棄して、ブランチに戻ります( 98ea3c8042c39e)。

  2. VISSブランチに戻り、新しい変更をVISS.

4

1 に答える 1

2
  1. ブランチに戻り、すべてを破棄します。

    git checkout VISS
    

    上の新しいコミット98ea3cはどこにも浮かんでおらず、最終的にはgitによってガベージコレクションされます。

    逆に、現在指しているものを98ea3c上にVISSして破棄する場合は、次のようにします。VISS

    git checkout VISS
    git reset --hard 98ea3c
    
  2. に戻ってVISS、その上に新しい変更をマージします。

    # On the new commit you just made:
    git rebase VISS
    
    # Now take note of what the commit ID is.  Assume I got "abc123"; then:
    git checkout VISS
    git merge abc123
    

    これVISSで、変更が最新のコミットになり、マージコミットはなくなります。

于 2012-07-10T11:47:51.493 に答える