拉取时忽略 Git 提交。跳过提交并从最新提交继续

Ignore Git commits when pull. Skip commits and continue from latest commit

我将代码推送到我的回购协议上两次,然后将其拉到服务器上,它有一些问题,所以我不得不返回并硬重置到之前的提交。我只能从上次提交中获取更改吗?

我以前回去提交的命令'C'

git 重置 --hard C

视觉表示:

在 repo 上提交:

A-B-C-D-E-F

git 在服务器端:

A-B-C'

在本地我只想推送提交 'F' 中的一些更改。现在我只想从提交 'F' 中提取更改并跳过 'D,E'。在服务器上它告诉我我落后了三个提交,当我拉它时它从所有提交中获取文件。我只想在 'F' 提交或任何其他最新提交中更新文件。

(抱歉英语不好)

要从 F git cherry-pick origin/F 拉取更改,您需要推出新的更改。 git push -f origin。这将从服务器端的分支中删除 D 和 E。

git reset --hard HEAD~1

git push -f

(推送示例:git push -f origin bugfix/bug123)

这将撤消上次提交并将更新的历史记录推送到远程。你需要 传递 -f 因为您要替换远程中的上游历史记录。

如果你想恢复或撤消一个没有提交假设3然后命令将改变像

git reset --hard HEAD~3

git push -f

For more info