2010-06-30 38 views
0
  1. 如果我做了一些更改,但沒有做一個commit -m "my message,我該如何回滾到我的位置?如何回滾Git中的各種更改?

  2. 如果我做了commit -m 'my message'但沒有推到原點,我該如何回滾?

  3. 如果我做了git pull origin,現在我不喜歡我得到的東西,我該如何回滾到我所在的位置?

  4. 我怎樣才能得到哪些文件是在哪些文件已經改變或不同於我的本地?

+0

我覺得這些都涵蓋非常明確的問題解決的文entation。 – falstro 2010-06-30 16:42:25

+0

對於第四個,我不認爲有辦法,但你可以獲取(而不是拉)和不合並(自動拉),並比較分支。 – falstro 2010-06-30 16:43:08

+0

是第一個問題:「我做了一些更改,但在更改之後沒有提交,我怎樣才能回到我的更改之前?」或者「我做了一些更改,但在最近的更改之前沒有做出承諾,在最近的更改之前我怎麼回到?」 – NorthGuard 2010-06-30 16:48:45

回答

3
  1. git reset --hard HEAD^
  2. git reset --hard ORIG_HEAD
  3. git reset --hard <shaSUM of the commit>
  4. git fetch && git diff origin/<branch>

引用:http://git-scm.com/docs/git-reset

+1

在做第四個之前,你不需要取回嗎? – falstro 2010-06-30 16:46:10

+0

良好的通話,更新。 – 2010-06-30 16:47:17