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

标签 git git-commit git-revert unstage

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

  1. git add -A
  2. git commit -m "commit message"
  3. 从上游 master pull 变更
  4. rebase
  5. git push 到我的源

现在碰巧在我之前的提交和我的新提交之间还有其他几个提交(来自其他人)。

我想在我的新提交中看到我所做的所有更改并继续处理它。 所以,我愿意

git reset --soft <my previous commit>

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

问题:

  1. 如何查看仅由我修改的文件?
  2. 然后文件显示为已修改,是否可以取消暂存它们?我想在执行 git diff 时查看更改。

最佳答案

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

git diff xxxxxx yyyyyy

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

更多信息 here .

更新:

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

关于git - 如何让我完成一次提交的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40956287/

相关文章:

ios - Pod 安装停留在 "Setting up CocoaPods Master repo"

GIT:如何在恢复 merge 后从分支中提取更改

git - pull -提交-推还是提交- pull -推?

git - 我如何使用 git 的 --work-tree 选项?我不断收到错误

git - 还原提交如何也是 merge 提交?

git - 使用github api从 pull 请求号获取 pull 请求 merge 提交sha

git - 我如何提交一个 git 标签?

Git/GitHub : fork, 子树 merge 或外部代码的子模块?

git - git 中 CVS 风格的标签实现

git - 如何修改 Git 中的多个提交以更改作者