Git 从回购主分支删除文件

Git 从回购主分支删除文件,git,Git,一位初级开发人员将代码直接写入我们存储库的主分支,这影响了我们的生产作业 我的主管刚刚完成了我的代码审查并合并了我的PR。他做了一个git checkout master,然后是git pull,我们注意到了新文件 Git日志显示它是由该开发人员直接提交到主分支的 我可以在不损坏任何东西的情况下执行git rm--cached filename吗?您可以重新设置基础并删除错误的提交: git rebase -i HEAD~2 这将打开一个新窗口,询问您要做什么。放下小朋友的承诺,选择你的: d

一位初级开发人员将代码直接写入我们存储库的主分支,这影响了我们的生产作业

我的主管刚刚完成了我的代码审查并合并了我的PR。他做了一个
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可能会删除您甚至不知道的提交。我强烈建议不要在任何情况下这样做。