2016-12-04 100 views
2

我有很多的變化在我的本地git的叉子,我做的:如何讓我做出的更改一次提交回來?

  1. git add -A
  2. git commit -m "commit message"
  3. 從上游主拉變化
  4. 變基
  5. git push我出身

現在碰巧還有其他幾個提交(從其他人)之間我以前的承諾和我的新提交。

我希望看到我在新提交中所做的所有更改並在其上進行工作。 所以,我做

git reset --soft <my previous commit> 

它顯示我修改過的文件,也被其他人。

問:

  1. 什麼會看到只有我修改過的文件的方式嗎?
  2. 然後文件顯示爲已修改,是否可以取消它們?我想在git diff的時候看到變化。
+0

查看'git diff'的文檔。它非常強大! – eckes

回答

4

你讓事情變得如此複雜。相反,軟復位的,簡單地使用git diff,並通過你的承諾和一個前看到什麼已經改變:

git diff xxxxxx yyyyyy 

其中XXXXXX是第一,yyyyyy是第二次提交的哈希值。要獲取提交哈希值,請使用git reflog

更多信息here

UPDATE:

正如評論所說,你也可以使用git difftool xxxxxx yyyyyy的視覺差異。

+0

...或者'git difftool xxxxx yyyyy'作爲視覺差異。也許你可以在你的答案中包括這一點。 – eckes

1

您只能過濾您的提交,然後與HEAD進行比較。

$ git log --author=<user>   # see you commits and copy commit-sha 
$ git diff <commit-sha>..HEAD  # shows what is in HEAD that is not in <commit> 
相關問題