如何强制Git获取整页

时间:2013-02-12 22:51:39

标签: git

我在Git中弄乱了某些东西,现在我们devserver分支上的内容是错误的。我的cptools分支中的内容是正确的。但是当我这样做时:

git checkout devserver
git merge cptools

它没有注册这两个文件是不同的。显然我将它们交给了devserver而没有任何意义。有没有办法从devserver取消它们,所以我可以将它们合并回去?我需要Git从cptools获取整页。我该怎么做?

1 个答案:

答案 0 :(得分: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. 在你确信一切正常之前不要推。