git - 获取 Git 提交,进行更改,然后重新提交

标签 git git-commit

我没有广泛使用 Git,因此我通常最终会在网上轻松搜索 Git 问题的答案。然而昨天我遇到了一个以前从未遇到过的问题,并且在网上搜索时不确定正确的 Git 方法。这是我遇到的问题:

  1. 我提交了一些不完全完整的代码
  2. 我的经理在我提交后提交了与我的代码无关的其他更改
  3. 然后他恢复了我的提交,因此我的更改不再在 master 上

这就是我的问题,我需要捕获我的提交,进行一些更改,然后重新提交它们。 我的问题是,获取已还原的提交更改、编辑它们然后重新提交它们的正确方法是什么?

我做了什么:我通过从 master pull 最新信息来解决我的问题,然后转到 Bitbucket 服务器并选择我的提交,下载文件并将这些文件复制回项目中。然后我开始做出改变。这使我能够执行 git status 并查看这些文件已更改,并在提交之前使用 git difftool 将我的更改与 master 进行比较,以确保我想要我正在提交的更改。

我试过checking out the commit但随后文件最终并未显示为已修改,并且不确定从哪里开始...我是否应该从提交分支,在该分支上进行更改,然后将其 merge 回主版本?

最佳答案

主节点当前包含您的更改以及恢复这些更改的提交。虽然当前的 master 不包含您的更改,但重要的是要记住这些提交并没有消失。最简单的事情是挑选您对正在处理的分支的原始提交,完成工作,然后 git commit --amend 您的其他更改以创建包含完整更改的提交。

关于git - 获取 Git 提交,进行更改,然后重新提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53177255/

相关文章:

git - 关于 git 中常规提交消息的问题

git - 冰山: LGit_GIT_ERROR: Invalid version 0 on git_remote_callback

git - 是否可以将 git commit 设置为具有 1970 年之前的时间戳?

git - 打印差异百分比

git - 添加到 git staging 意味着什么?

git - git pull/clone 如何在一个网络上的 rev-list 后挂起,在其他网络上工作 : how debug and fix?

java - 如何使用 JGit 删除远程分支

git - 修改时更新 git 提交作者日期

git - sublime text 选项 "-n -w"(对于 git)总是打开我以前的标签

Git 在一个 _native git_ 命令中添加并提交所有文件?