如果其他开发人员推送了相关更改,您不应该只是将它们删除,而是合并您的两个更改。
如果开发人员推动了其他有意义的更改,最好的解决方案就是解决冲突,并修复损坏的代码。
从你分歧的提交中,将它们移动到一个新的分支,然后合并回 master - 当你这样做时解决冲突。
# Create a new branch with your commits
git checkout -b featureBranch
# Get master from origin
git checkout master
git pull origin master
# Add in your changes
git merge featureBranch
# Resolve Conflicts
# Push to origin
git push origin master
Run Code Online (Sandbox Code Playgroud)
如果您真的只想删除他的提交(我不建议您这样做),您可以强制推送 - 这将用您机器上的内容覆盖服务器上的所有内容。
参与该项目的每个其他开发人员都需要在那里采取额外的行动,因为您现在正在改变历史;不建议这样做。
git push origin master --force
Run Code Online (Sandbox Code Playgroud)
还有一种revert
方法;这将创建一个新提交,完全逆转所选提交的更改;要使用它,您首先需要一个干净的工作树。
# Move your commits to a new branch
git checkout -b featureBranch
# Get latest changes from master
git checkout master
git pull origin master
# Create new commit that reverses the other devs changes
git revert hashToRevert
# Pull in your additional commits
git merge featureBranch
# Push to master
git push origin master
Run Code Online (Sandbox Code Playgroud)