我是新手,正在使用WebStorm推送和拉取代码。我们正在共同开发一个项目。昨晚我的朋友更新了一些代码并推送了更改。
今天我拉取了代码并合并了更改,但错误地保留了我的更改并放弃了拉取请求提供的更改。然后将这些更改推送到git远程。
所以现在我想要做的就是:
1. 回退到本地之前的状态,即拉取请求之前的状态,并且在远程上我想要与昨晚相同的状态,即推送请求之前的状态。
因此,这就是我想要做的:
1. 在远程上回滚到以前的版本。 2. 再次拉取代码。 3. 进行合并。 4. 推送新代码。
所以现在在远程上我有:
- 我朋友的代码版本提交, - 然后是我错误的版本提交,其中不包括以前代码提交的合并, - 如果我按照下面关于在本地回滚的答案然后推送,那么我会有我的新回滚代码版本提交。 但是最后我希望在远程上有1 + 3。
让我们用数学方式来看待这个问题:
- X = 打开计算机并更改代码并提交的本地状态。 - Y = 昨晚朋友在他的本地计算机上进行更改并推送到远程的远程状态。 - Z = 当我拉取朋友的代码并开始合并但犯了一些错误并放弃了我的朋友的更改,然后提交并推送代码时基本上是状态x到远程。
因此,基本上:
- 在我的本地,我有状态Z。 - 在远程上,我有状态Z - 在我朋友的本地状态Y。
我希望在远程上有X + Y。
今天我拉取了代码并合并了更改,但错误地保留了我的更改并放弃了拉取请求提供的更改。然后将这些更改推送到git远程。
所以现在我想要做的就是:
1. 回退到本地之前的状态,即拉取请求之前的状态,并且在远程上我想要与昨晚相同的状态,即推送请求之前的状态。
因此,这就是我想要做的:
1. 在远程上回滚到以前的版本。 2. 再次拉取代码。 3. 进行合并。 4. 推送新代码。
所以现在在远程上我有:
- 我朋友的代码版本提交, - 然后是我错误的版本提交,其中不包括以前代码提交的合并, - 如果我按照下面关于在本地回滚的答案然后推送,那么我会有我的新回滚代码版本提交。 但是最后我希望在远程上有1 + 3。
让我们用数学方式来看待这个问题:
- X = 打开计算机并更改代码并提交的本地状态。 - Y = 昨晚朋友在他的本地计算机上进行更改并推送到远程的远程状态。 - Z = 当我拉取朋友的代码并开始合并但犯了一些错误并放弃了我的朋友的更改,然后提交并推送代码时基本上是状态x到远程。
因此,基本上:
- 在我的本地,我有状态Z。 - 在远程上,我有状态Z - 在我朋友的本地状态Y。
我希望在远程上有X + Y。
--force
将其推送到远程。就这样。 - Sam Varshavchik