如何让我完成一次提交更改?

时间:2016-12-04 07:05:35

标签: git git-commit git-revert unstage

我的本​​地git fork中有很多变化,我这样做:

  1. git add -A
  2. git commit -m "commit message"
  3. 从上游主人拉
  4. 变基
  5. git push我的出身
  6. 现在碰巧在我之前的提交和新提交之间还有其他一些提交(来自其他提交)。

    我希望在我的新提交中看到我完成的所有更改并继续进行。 所以,我做了

    git reset --soft <my previous commit>
    

    它显示由我和其他人修改的文件。

    问题:

    1. 查看仅由我修改的文件的方式是什么?
    2. 然后文件显示为已修改,是否可以取消它们?我希望在git diff时看到更改。

2 个答案:

答案 0 :(得分:4)

你使事情变得如此复杂。而不是软重置,只需使用git diff并传递您的提交和之前的提交以查看已更改的内容:

git diff xxxxxx yyyyyy

其中xxxxxx是第一个,yyyyyy是第二个提交哈希值。要获取提交哈希值,请使用git reflog

更多信息here

更新:

正如评论中所建议的那样,您也可以使用git difftool xxxxxx yyyyyy进行视觉差异。

答案 1 :(得分:2)

您只能过滤提交,然后与HEAD进行比较。

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:templateSMS" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:templateSMSResponse>
<templateSMSResponse xsi:type="xsd:string">0#!#200#!#http://198.101.210.203/Soap/service/elbarid|http://212.98.137.180/Soap/service/elbarid#!#SenderId </templateSMSResponse>
</ns1:templateSMSResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>