`
MauerSu
  • 浏览: 513736 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

git远程分支与本地分支回退版本

    博客分类:
  • git
 
阅读更多
源:http://www.jianshu.com/p/0b50e4a43cdf
评:
git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id

【本地代码库回滚】:

git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除

git reset --hard HEAD~3:将最近3次的提交回滚

【远程代码库回滚】:

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

应用场景:自动部署系统发布后发现问题,需要回滚到某一个commit,再重新发布

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

操作步骤:

1、git checkout the_branch

2、git pull

3、git branch 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 //如果前面都成功了,删除这个备份分支

如果使用了gerrit做远程代码中心库和code review平台,需要确保操作git的用户具备分支的push权限,并且选择了 Force Push选项(在push权限设置里有这个选项)

另外,gerrit中心库是个bare库,将HEAD默认指向了master,因此master分支是不能进行删除操作的,最好不要选择删除master分支的策略,换用其他分支。如果一定要这样做,可以考虑到gerrit服务器上修改HEAD指针。。。不建议这样搞

参考资料:https://review.typo3.org/Documentation/access-control.html#category_push

作者:飞将军
链接:http://www.jianshu.com/p/0b50e4a43cdf
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
分享到:
评论

相关推荐

    git 删除分支和回滚的实例详解

    【git 删除远程分支】 git push origin :br (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id 【本地代码库回滚】: git reset --hard commit-id :回滚到commit-id,讲commit-...

    git版本分支管理

    Git版本控制系统提供了多种功能强大的版本控制工具,包括分支管理、提交历史记录、差异比较、版本回退等等。在使用Git管理项目时,通常会有多个分支,这些分支可以是不同的开发环境、测试环境、生产环境等等。因此,...

    详解IDEA git分支回退指定的历史版本

    本文详细介绍了两种在IDEA中回退Git分支到指定历史版本的方法。 1. **Revert操作**: Revert操作是一种非破坏性的回退方式,它会创建一个新的提交,撤销之前错误的改动。这种方式保留了原始的提交历史,使得你可以...

    git分支,本地仓库,远程仓库

    由于Git具有出色的分支管理和版本回退能力,它成为了开发团队协作的得力工具。 考虑到文章中的扫描错误和遗漏,总结了Git在Java项目中的安装、使用和团队协作时的关键操作。Git因其强大的功能和灵活的操作,成为了...

    Git实战学习视频教程 Git多场景应用学习 Git服务器和远程分支 Git多人协作开发项目

    6. **版本回退与时间旅行**:Git提供了强大的版本回退功能,我们可以利用`git reset`、`git revert`等命令回到任何历史状态,理解这些操作的危险性和正确使用方法是至关重要的。 7. **标签管理**:通过`git tag`,...

    Git版本回退方法论(可能解决你101%遇到的Git版本问题)

    1 本地版本回退 你在本地做了错误的 commit 先找到要回退的版本的commit id: git reflog 接着回退版本: git reset --hard cac0 cac0就是你要回退的版本的commit id的前面几位 远程分支版本回退 回滚自己的远程...

    版本回退.rar

    5. **`git pull --rebase`**:在从远程仓库拉取更新后,如果发现本地有冲突,可以使用`git pull --rebase`尝试重新应用本地的提交,这有时能解决回退问题。 在处理版本回退时,必须谨慎,特别是涉及到`--hard`选项...

    Git 原理与使用.pdf

    3. 掌握Git远程仓库与本地仓库,结合版本管理与分支管理,做到基于分支级的个人级开发。 4. 理解分布式版本控制系统,学习远程仓库与本地仓库的交互操作,掌握多人协作开发模式。 协作目标: * 学习企业级常见分支...

    Git windows版本64

    1. 版本控制:Git允许用户记录项目文件的历史变更,可以随时回退到之前的任何版本。 2. 分支管理:Git的分支系统非常强大,开发人员可以轻松创建并切换分支,进行平行开发。 3. 合并与冲突解决:当多人协作时,Git...

    Git原理及范例详解

    这种设计使得 Git 能够快速地回退到之前的版本,并且可以轻松地比较和恢复项目的历史状态。 Git 的工作流程主要包括以下几个步骤: 1. 初始化仓库:使用 `git init` 命令来初始化一个新的 Git 仓库。 2. 添加文件...

    版本控制工具git、

    - 拉取并合并远程分支:`git pull origin <远程分支>:<本地分支>` 8. Git工作流: 开发者通常遵循Git Flow或GitHub Flow等工作流模式,这些模式规定了如何创建、合并分支以及处理问题和特性开发。 9. Git协作...

    linux的git压缩包

    4. **远程仓库操作**:`git remote`命令用于管理远程仓库,`git fetch`获取远程仓库的更新,`git pull`则会拉取并自动合并远程分支,`git push`将本地提交推送到远程仓库。 5. **解决冲突**:当多人同时修改同一...

    git版本控制使用说明..

    `git pull` 用于从远程仓库获取最新更新并与本地仓库合并,`git push` 则将本地的更改推送到远程仓库。如果在合并时遇到冲突,Git 会标记冲突部分,需要手动解决后再提交。 协同开发的典型流程包括: 1. 使用 `git ...

    git版本控制器

    1. **版本控制**:Git的核心概念是版本控制,它记录了每次代码更改的历史,可以随时回退到之前的任何版本。通过分支和合并,团队成员可以并行开发,避免冲突,提高工作效率。 2. **分布式特性**:与集中式版本控制...

    版本控制工具git

    - **回退到指定提交**:`git reset --hard <commit_id>`。 - **撤销最近的提交**:`git reset --hard HEAD~1`。 **6. 分支管理** - **合并分支策略**:使用`--no-ff`保留合并记录,或`--ff-only`确保安全合并。 - *...

    git 完整版本 64位安装包

    10. **重置与回退**:`git reset`和`git revert`命令用于撤销或回退到之前的提交状态,但使用时需谨慎,以免丢失工作。 11. **工作区、暂存区和HEAD**:Git将工作分为工作区、暂存区和HEAD三个概念,分别对应代码的...

    Java进阶版本管理工具Git全套视频教程

    6.8 回退至历史版本 6.9 文件删除 6.9.1本地删除与恢复 6.9.2从版本库删除 6.9.3从版本库删除,但是不删除本地 6.10 忽略提交 7. Git 的基本使用02-TortoiseGit 操作本地仓库(分支) 7.1 分支的概念 7.2 为何要使用...

    Git使用教程 最新完整版

    Git 提供了版本回退功能,允许开发者回退到之前的版本。 * 回退到上一个版本:使用 `git reset --hard HEAD^` 命令回退到上一个版本。 * 回退到指定版本:使用 `git reset --hard <commit_id>` 命令回退到指定的...

    git 常用的一些命令

    4. Git 版本回退命令 使用 git reset --hard HEAD^ 命令可以撤销一步 commit。如果想要撤销提交但保留文件的修改,可以使用 git reset --mixed HEAD^ 命令。如果想要撤销提交但不撤销 git add 操作,可以使用 git ...

Global site tag (gtag.js) - Google Analytics