Git 从回购主分支删除文件
一位初级开发人员将代码直接写入我们存储库的主分支,这影响了我们的生产作业 我的主管刚刚完成了我的代码审查并合并了我的PR。他做了一个Git 从回购主分支删除文件,git,Git,一位初级开发人员将代码直接写入我们存储库的主分支,这影响了我们的生产作业 我的主管刚刚完成了我的代码审查并合并了我的PR。他做了一个git checkout master,然后是git pull,我们注意到了新文件 Git日志显示它是由该开发人员直接提交到主分支的 我可以在不损坏任何东西的情况下执行git rm--cached filename吗?您可以重新设置基础并删除错误的提交: git rebase -i HEAD~2 这将打开一个新窗口,询问您要做什么。放下小朋友的承诺,选择你的: d
git checkout master
,然后是git pull
,我们注意到了新文件
Git日志
显示它是由该开发人员直接提交到主分支的
我可以在不损坏任何东西的情况下执行git rm--cached filename吗?您可以重新设置基础并删除错误的提交:
git rebase -i HEAD~2
这将打开一个新窗口,询问您要做什么。放下小朋友的承诺,选择你的:
d 54f3714 Junior's commit
pick 044de34 Your commit
# Rebase 8de638d..044de34 onto 8de638d (2 commands)
...
接下来,推送更改:
git push origin master -f
不应直接对主分支进行更改,也不应强制推送到主分支。对于最佳实践的一些见解,请阅读 始终从它分支,并在那里进行更改,然后将此分支合并到主分支 因此,对于您的示例,请具体说明:
- 分公司
- 删除文件并提交更改
- 通过PR将分支合并到主分支
- 都做完了
这是最干净的方法,对于代码协作尤其重要。这实际上更有意义。从主分支删除文件让我做噩梦。这是一种安全、明智的做法。谢谢。很高兴听到你的话,很乐意帮忙。您能否将我的答案设置为不让未来的读者走上错误的道路?如果一个提交被错误地推送到master,那么直接在master上删除它是没有问题的。强制推送到master可能会删除您甚至不知道的提交。我强烈建议不要在任何情况下这样做。