SSi*_*ilk 1 git version-control git-revert
假设有一个公共提交“ xxxx”,我认为这引起了一个错误,并且我想在本地进行恢复该提交的实验。
如果我从文档正确认识git revert(1,2),它的作品了恢复目标提交XXXX需要的变化,自动和推动他们到公共仓库。那是对的吗?这是我担心的最后一部分。
即将git revert xxxx还原公共存储库中的xxxx?
如果是这样,有没有办法仅在我的本地工作文件夹中执行此操作,以便我可以构建具有还原的提交的HEAD副本并进行试验,而不会影响其他开发人员?
我是否需要使用--no-commit选项:git revert xxxx --no-commit?
还是有另一种方法我应该这样做?
谢谢。
相反,你显然是看到或听到,git revert也没有推动什么远程仓库。它只是向分支的HEAD添加一个(或更多)新的提交,从功能上撤消该提交或通过参数传递的提交。如果您提交abcd1234并运行了
git revert abcd1234
Run Code Online (Sandbox Code Playgroud)
然后,Git会将新的提交添加到您的分支以撤消该提交。
通常,东西只能通过来从本地Git传递到远程git push,因此,只要您实际上没有这样做,就应该是清楚的。
如果您感到非常谨慎,可以随时创建一个新分支并使用来测试该漏洞的修复git revert。顺便说一句,作为安全预防措施,许多使用像GitHub这样的仓库的人都将配置关键分支,以使甚至无法直接向其推送。