我是 Git 新手,正在使用 WebStorm 来推送和拉取我的代码。我们正在开展一个共同的项目。昨晚我的朋友更新了一些代码并推送了更改。
今天,我拉取了代码并合并了更改,但我错误地保留了更改并放弃了拉取请求提供的更改。然后将这些更改推送到 git Remote 上。
所以基本上现在我想要的是:
- 在本地恢复到之前的状态,即拉取请求之前的状态,并且在远程上我想要与昨晚相同的状态,即推送请求之前。
所以,这就是我想做的:
- 在远程上恢复到以前的版本。
- 再次拉取代码。
- 进行合并。
- 推送新代码。
所以现在在远程我有:
- 我的朋友代码版本提交,
- 然后我的错误版本提交不包括先前代码提交的合并,
- 如果我遵循以下恢复到本地然后推送的答案,那么我将提交新的恢复代码版本。但最后我想要遥控 1 + 3。
让我们从数学上看一下
- X= 我打开计算机并更改代码的本地州
坚定的。
- Y= 远程状态,我的朋友昨晚在本地计算机上进行了更改并推送到远程。
- Z = 远程状态,当我拉出我的朋友代码并开始合并但犯了一些错误并放弃了我朋友的更改,然后提交并将基本上是状态 x 的代码推送到远程时。
所以,基本上
- 在我的本地,我有 Z 状态。
- 在远程我有状态 Z
- 在我的朋友当地 Y 州。
我想要远程 X + Y。
如果你想恢复提交,可以使用以下命令:
git revert commit id goes here
Example:
git revert aa12bb34
这是什么revert http://christoph.ruegg.name/blog/git-howto-revert-a-commit-already-pushed-to-a-remote-reposit.html does:
恢复提交意味着创建一个撤消所有内容的新提交
在错误提交中所做的更改。就像上面说的那样,不好的地方
commit 仍然存在,但不再影响当前的 master
以及在此之上的任何未来承诺。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)