首页 > 编程知识 正文

git从远程仓库拉取代码,git远程分支回退到某个版本

时间:2023-05-04 03:43:25 阅读:17374 作者:1682

配置文件2本地仓库回滚3远程仓库回滚方法reset Head方法revert 4总结配置文件使用git进行代码版本控制时,总是会遇到代码回滚。 回滚有两种类型:本地仓库回滚和远程仓库回滚。 本地仓库的返还使用git reset。 代码尚未推送至远程仓库,必须取消本地仓库的commit信息。 可以直接使用Reset HEAD回滚。

重置类型有三种:混合(idea默认值)、软件和硬件

1、软件

移动本地库中的HEAD指针

也就是说,回滚后,只移动了本地库中的指针,暂存区和您的本地代码没有任何更改。

如果您更改上次提交到本地库的代码,它将变为绿色,也就是未提交

2、混合

移动本地库中的HEAD指针

暂存区的复位

回滚后,本地库中的指针不仅移动了,而且暂存区中的也不见了,这意味着上次添加到暂存区的文件也不见了

3、hard

移动本地库中的HEAD指针

暂存区的复位

重置工作区

也就是说,回滚之后,本地代码是您回滚的版本的代码

4、keep

移动本地库中的HEAD指针

重置工作区

也就是说,回滚之后,本地代码是您回滚的版本的代码,暂存区中的文件仍然保存。

其他大人物的博文详细说明了三种倒带方法。

3359 blog.csdn.net/QQ _ 38339124/article/details/98869755

To commit : HEAD^返回上一个版本; revision Number将返回指定版本号的版本;

远程仓库回滚的第一种方法是使用reset Head和git push -f强制提交。 要复制并回滚到哪个版本的版本号

reset type选择了硬盘

此时,本地仓库已回滚到指定版本,指定版本之后的代码已消失。 但是,还没有远程仓库。 推送到远程仓库的话,会被要求拒绝,但是不能和远程仓库合并。 因为合并后将无法达到回滚的目的。 直接打开Terminal,然后在项目目录下键入git push -f强制提交。 此时,回滚已同步到远程仓库。 如果登录并确认远程仓库,则回滚到指定版本后没有提交信息。

第二种方式revert网上也说第一种方式不好,以下是别人的测试

回滚远程仓库代码是在谷歌上搜索时,基本上得出的答案是使用Reset HEAD和git push -f强制提交的方式。

我们在本地测试了一下,如果两个人同时在这个分支上开发,一个谨慎的鲜花用这种方法回滚了远程仓库代码,那么另一个Web在这个时候本地还在回滚前面的代码,而Web则在本地此时,如果b先生进行推送操作,以前小心开花回滚的代码又会被送到远程仓库。 B先生回滚后,除非本地仓库的版本也回滚。 我保证不会将回滚的代码重新推送到远程仓库,但是很多开发人员无法确保所有开发人员的本地分支都将回滚

因此,请勿使用名为git push -f的方法强制回滚远程仓库代码。

也可以使用第二种方法git revert回滚项目

commit之后,push去远程仓库。 最终结果如下

可以看到生成了新的commit记录,并将代码推送至远程端。 如果其他开发人员执行拉式操作,并且本地仓库也正确回滚到指定的提交点,则不必担心回滚的代码会被重新推送到远程仓库。

第一种方法的总结是,回滚版本之后的提交信息将被清除。 resvert方式记录回滚操作; revert实际上会生成新的commit并碰撞原始commit。 使用revert时,只能回滚某个版本的commit,因此每次必须回滚到指定版本。

悲伤的发夹如果有不同的意见可以在信息里一起讨论

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。