0

ある時点で Git で何かを台無しにしてしまい、現在devserverブランチにあるものは間違っています。私のcptoolsブランチにあるものは正しいです。しかし、私がするとき:

git checkout devserver
git merge cptools

2 つのファイルが異なることは登録されません。どうやら私はそれらを意図せずにコミットしたdevserverようです。devserverそれらをマージして元に戻すことができるように、コミットを解除する方法はありますか? からページ全体を取得するには Git が必要cptoolsです。それ、どうやったら出来るの?

4

1 に答える 1

0

枝を見る

を見てみましょう

  • " git branch -v" ブランチ リストを表示するには、
  • " git checkout branch_name" を使用してブランチに切り替えます。

コミットを見る

見てくださいgit log branch_name_here

$ git log
commit 65471553a1f67650e1e3511463ffc881ce9724b8
Author: The Wookie <thewookied@SO.com>
Date:   Sun Feb 10 23:12:21 2013 -0500

    Test commit 3

commit d0fc7ffb0bc3276c6bbc20b2c8ad1e1a4e46ff3b
Author: The Wookie <thewookied@SO.com>
Date:   Sun Feb 10 21:59:56 2013 +1030

    Test commit 2

commit b720fdc15f2b47e8e169a5ea9372de4814ae0724
Author: The Wookie <thewookied@SO.com>
Date:   Sun Feb 10 21:59:07 2013 +1030

    Test commit 1

コミットが正確に何をしたかを確認するには、次のようにしgit diff ref1 ref2ます。

$ git diff d0fc7ffb0bc3276c6bbc20b2c8ad1e1a4e46ff3b 65471553a1f67650e1e3511463ffc881ce9724b8

diff --git a/file.py b/file.py
index 14017fc..31e30f0 100644
--- a/file.py
+++ b/file.py
@@ -42,23 +42,29 @@ class Foo(object):
         self.cursor  = self.connection.cursor()
         if (not self.db_exists):
             # create the db
-            self.cursor.execute('''DROP TABLE foo''')
-            self.connection.commit()
...

コミットの取り消し

git reset --hard old_refログからコミットを削除し、ファイルの変更をリセットします。

つまりgit reset --hard d0fc7ffb0bc3276c6bbc20b2c8ad1e1a4e46ff3b、最新の変更を取り消してコミット ログから削除し、コミット 1 と 2 のみを残します。

忘れないで

  1. バックアップを保持します。
  2. すべてが正しいと確信できるまで、押し付けないでください。
于 2013-02-12T23:00:39.567 に答える