git远端代码库 回滚

origin 是默认的远程版本库名称
你可以在 .git/config 之中进行修改


下面的方法,不能解决,远程代码库与第三方人员合并后的回滚问题,见最后面。


git常用命令:

1.

切换分支

git checkout master  //表示切换分支到master


2.

创建分支branch

git branch branch_name  //创建分支


3.pull拉取

git pull origin 相当于是从远程获取最新版本并merge到本地

git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复杂。

$ git pull <远程主机名> <远程分支名>:<本地分支名>

比如,取回origin主机的next分支,与本地的master分支合并,需要写成下面这样。

$ git pull origin next:master

如果远程分支是与当前分支合并,则冒号后面的部分可以省略。

$ git pull origin next


如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名。

$ git pull origin

上面命令表示,本地的当前分支自动与对应的origin主机”追踪分支”(remote-tracking branch)进行合并。

如果当前分支只有一个追踪分支,连远程主机名都可以省略。

git pull



4.

push推送到远程代码库

$ git push <远程主机名> <本地分支名>:<远程分支名> //顺序与git pull相反。

git push origin master 的意思是 git push origin master:master (将本地的 master 分支推送至远端的 master 分支,如果没有就新建一个)


4.1 如果省略本地分支名,则表示删除指定的远程分支因为这等同于推送一个空的本地分支到远程分支

$ git push origin :master

4.2 如果省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。

$ git push origin master

上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。



【远程代码库回滚】:

这个是重点要说的内容,过程比本地回滚要复杂

原理:先将本地分支退回到某个commit,删除远程分支,再重新push本地分支

操作步骤:

1、git checkout  the_branch  //切换本地分支到 the_branch

2、git pull  //拉取远端分支the_branch的最新版本,并合并到本地。

3、git branch the_branch_backup //备份一下这个分支当前的情况  //创建一个新的分支 名字为the_branch_backup

4、git reset --hard the_commit_id //把the_branch本地回滚到the_commit_id

5、git push origin :the_branch //删除远程 the_branch//将本地的一个空分支,推送到远程分支上,

6、git push origin the_branch //用回滚后的本地分支重新建立远程分支

7、git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支



一般情况下,不需要上述的7步都走完。因为,一般情况下,我们本地的分支和远端的分支是有追踪关系的。

1.备份本地分支

2.回滚本地分支

3.删除远程分支

4.将回顾后的本地分支,推送到远端。

5.删除备份分支。

这样的操作后,确实能够回滚远程的代码库,但是这样的回滚有个很严重的问题,即,将远程代码库回滚到local3写入后

本地的local1写入第二次 这个分支就没有。本地的分支就是local3写入 这个分支了。

即使备份指定的版本也依然无法解决这个问题。比如备份local1这个版本,但是

远程代码库回顾后,备份的local1分支也变成了local3写入 分支了

local1 写入第二次依然 丢失了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值