我做了一件非常愚蠢的事.我在代码中输入了一个curseword,然后将代码推送到master分支上.之后我又推了几次,所以人们不会把坏东西拉出来,但我仍然可以在提交历史中找到这个诅咒词.
有没有办法从历史记录中删除提交?编辑:我不想将文件添加到gitignore,因为我们需要该文件.
谢谢
Nut*_*ker 36
这对我有用:
git log 找到要删除的提交并复制其哈希git rebase -i <commit_hash>~ 这将打开您的文本编辑器pick到drop您的特定提交Dav*_*sch 24
一旦你推动回购,你真的不想改变历史.但是,如果您完全确定自从您的违规提交以来没有人从回购中提取/取出,您有2个选项.
如果要完全删除提交(以及之后的每个提交),请执行git reset --hard ABC~(假设提交的哈希值ABC).然后做一个git push -f.
如果您只想编辑该提交,并保留其后的提交,请执行git rebase -i ABC~.这将启动您的编辑器,显示您的提交列表,从违规提示开始.将标志从"选择"更改为"e",保存文件并关闭编辑器.然后对文件进行必要的更改git commit -a --amend,然后执行,然后执行git rebase --continue.跟着它一起来git push -f.
我想重申一下,如果没有人进行包含违规提交的提取或提取,这些选项只适用于您.如果他们有,那么做这些步骤只会让事情变得更糟.
如果仅在本地PC上(或没有人签出您的更改):
1)使用:
git日志
查找要删除的提交。复制哈希(较长的时间:e8348ebe553102018c ...)。
2)使用:
git rebase -i your_commit_hash_code_comes_here
只需删除不需要的提交并保存文件即可。
交互式git rebase还可让您修复损坏的提交-无需删除它。
如果您将更改推送到服务器或某人已经进行了更改-永远不要更改历史记录-这会给您的团队带来严重的问题。
我最近与一个团队合作,发现 git 有解决方案
全部在此链接上
正在使用git-filter-repo 和 BFG Repo-Cleaner
这是一个很酷的视频
https://www.youtube.com/watch?v=z8tIOYg_oho
| 归档时间: |
|
| 查看次数: |
9780 次 |
| 最近记录: |