首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

git远程库代码版本回滚方法

以下是解决的方法, 供大家参考: 1.对本地代码库进行回滚 git log 查看提交历史,找出要回滚到的commit-id git reset --hard commit-id :回滚到commit-id..., 但是公司使用了gerrit代码审查软件, 会对代码审查后然后再手动去合入, 导致这个方法失效了。...最终采用了如下方法 git checkout the_branch  切换分支 git pull git branch the_branch_backup   备份一下这个分支当前的情况 git reset...git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支 由于使用了gerrit,gerrit中心库是个bare库,将HEAD默认指向了master...,因此master分支是不能进行删除操作的,所以在操作过程中创建了一个新的分支,把回滚后的代码提交到新建的分支上, 再合入到master分支上,这样远程库的代码回滚就完成了。

1.5K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    干货 | 携程Hybrid代码评审服务

    本文先分析两种review方式的优点,然后通过介绍几个场景来指出Gitlab中增加change功能的必要性,以及如何把hybrid的服务用到极致,并归纳出几类代码评审模式分别适合的场景,希望对开发团队有所帮助...Gitlab:我不喜欢Gerrit对每个commit 单独地做review,用MR多好,一个分支合入另一个分支做个review,这样虽然一次性review多一点,但不用在多个changes中跳来跳去,而且分支是可以多人共享的...我们用表格形式做个归纳: 具体优点 是/否优点 Gerrit具备 Gitlab具备 PK结论 未经review的代码不会进到Git仓库 是 是 是(但要fork仓库,管理成本增加) Gerrit 胜出...Push的时候自动发起了review的申请 是 是 否 Gerrit 胜出 Review一个分支,而不用review每个commit 是@某些情况 否 是 Gitlab 胜出 Review单个commit...我们也希望hybrid的方式,能给代码平台的建设提供一种新的思路。当崭新的事物出现的时候,我们不妨听听用户的心声,看看如何能把旧事物里面好的一些设计理念有机地结合到新事物中。

    1.2K20

    day10 | Git的正确使用姿势与最佳实践 | 第三届字节跳动青训营笔记

    ,帮助用户更高效的去阅读代码 代码分析 提供一种代码检查能力,目的是在整个研发流程中自动的发现并反馈代码中存在的代码结构、代码漏洞、代码风格等问题 持续集成 一种软件开发实践,团队成员频繁将他们的工作成果集成在一起...可以在云端开发环境中编写、编译、运行和调试项目 为什么要学习Git 协同工作:业界绝大多数公司都是基于Git进行代码管理,因此Git是一个程序员的必备技能 开源社区:目前绝大多数的开源项目都是基于Git...提交本地代码到master 3.2.1集中式工作流-Gerrit Gerrit是由Google开发的一款代码托管平台,主要的特点就是能够很好的进行代码评审。...常见问题 在Gerrit平台上使用Merge的方式合入代码。 Gerrit是集中式工作流,不推荐使用Merge方式合入代码,应该是在主干分支开发后,直接Push。...管理代码的原理;帮助我们更好的知道如何正确使用 Git 命令 讲述不同的研发流程,有以 gerrit 为代表的集中式工作流,和 gitlab/github 为代表的分支管理工作流,讲述了一些代码提交规范

    1.1K30

    Git相关介绍

    迁移后,测试对开发代码如何拉分支、如何查看changelog、如何打包、如何进行持续集成测试等等工作就产生了一些问题,也希望能做到知己知彼更好的保证质量,所以在此,小编梳理了一下Git相关的信息供测试同学了解...另外如果中央数据库的磁盘坏了,并且可能没有保存备份,那么将丢失所有的东西。你失去了绝对一切 - 除了单一的任何人的快照恰好有在本地计算机上项目的整个历史。当然本地的版本控制系统也有相同的问题。...http://gerrit.XXX.com Gerrit是一个免费、开放源代码的代码审查软件。...以下是gerrit系统review面板截图: 五、打包(dailybuild包, 灰度包、正式版包、实验版包) 1.如何打包(测试包,灰度包,正式版包,实验包) Answer:均可通过打包系统自动打包...推荐Git GUI工具Source Tree:https://www.sourcetreeapp.com/ 公司的Gerrit仓库可以通过公司邮箱登录,所以在source Tree的授权过程中,也使用公司邮箱

    1.2K50

    Git日常操作命令梳理

    必须将其切换出去后才能删除 在gerrit界面上创建的分支,如下,直接删除是不行的!...正确删除方式是: 登陆gerrit服务器,找到gerrit安装目录的git/项目名称/refs/heads下删除dev [gerrit@115]$ pwd /home/gerrit/gerrit_site...@115]$ ls [gerrit@115]$ 这样,就成功删除了gerrit界面里创建的分支了!!...例如,假设我 们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0 中的功能到v2.0中,这里就可以使用cherry-pick...git rebase有点类似git merge,但是两者又有不同,打个比方,你有两个抽屉A和B,里面都装了衣服,现在想把B中的衣服放到A中,git merge是那种横冲直撞型的,拿起B就倒入A里面,如果满了

    1.1K70

    自建系统项目如何整合客服系统-在线客服系统中展示自己的会员信息-达到知晓访客是谁

    默认情况下,当项目对接完客服系统后,可以让项目下的访客用户点击在线客服按钮,或者通过右下角弹窗,与后台客服人员进行实时交流 客服人员那里,并不能知道这个访客会员是谁,只能看到匿名的临时访客信息。...因为我们没有传递自己项目下的会员信息到客服系统,所以客服系统并不显示会员信息。 现在我们可以在聊天链接,或者弹窗JS代码中,传递自己会员信息到客服系统,客服系统展示传递过来的昵称、头像、会员ID等。...param=130y130", }) });  聊天链接中传递会员信息 visitor_id: 自有会员 visitor_name: 自有会员名称

    34610

    gerrit代码简单备份方案分享

    由于前期部署了gerrit代码审核系统,开发调整后的线上代码都放到gerrit上,这就要求我们要保证代码的安全。所以,对gerrit代码的备份至关重要!...备份的策略是: 1)先首次将gerrit项目代码git clone下来,然后后续备份前进行git pull 2)编写备份脚本,crontab定时执行 3)除了本机备份外,还可以备份到远程 下面是操作记录...: 比如,备份gerrit上的下列项目代码 ?...1)首先在本地将gerrit项目代码下载下来(本地的wangshibo用户下的公钥已经放到gerrit上,在wangshibo用户下git clone) [root@115r gerrit.bak]#...2>&1 2)第一步只是在本地备份,可以将本地备份的git做副本放到远程机器上 下面是远程机器上的操作(远程机器已和本地机器做了ssh信任关系)(192.168.1.15是本地机器) [root@bastion-IDC

    2.2K100

    CI持续集成系统环境---部署gerrit环境完整记录

    下面一步很重要,就是说提前把下面的两个软件放到相应的位置,以防在gerrit安装过程中再去执行下载操作(因为安装过程中再去下载,由于网速问题会failed!)...在gerrit一键安装的时候,邮箱环节采用的是默认安装。 安装后登陆gerrit,默认情况下邮箱是空的。 这个时候,可以手动设置。...,选用默认的H2数据库情况下的操作事项: 默认情况下,gerrit登陆后,setting处的账户邮箱是空的 除了上面使用邮箱注册并激活的方法 还可以直接在数据库中手动插入邮箱 如下: ?...创建新分支受“Create Reference”控制,不允许删除已存在的分支,这是最安全的模式(因为commit不可以被丢弃)。 Force option 允许已存在的branch被删除。...如果在单独工程的ACL中设置的此权限,那么全局ACL中的设置将不起作用。

    2.5K90

    Git Review + Gerrit 安装及使用完成 Code-Review

    代码评审是指在软件开发过程中,对源代码的系统性检查。...Code Review 主要用来在软件工程过程中改进代码质量,查找系统缺陷,保证软件总体质量和提高开发者自身水平。 2、Gerrit 介绍 Gerrit 是一个免费、开放源代码的代码审查软件。...Gerrit 是使用 Git 作为底层版本控制系统,通过网页界面,能方便的做代码审核工作的一个轻量型框架,出自google团队的开源项目。...这里我们要实现的是,本地 Git 提交代码 review 到 Gerrit,在 Gerrit 上做 Code Review,如果 commit 通过则直接 merge 到分支,不通过则再修改并 update...至此,针对本次的修改才被真正 merge 到分支上了。当然 gerrit 能做的还有很多,如权限控制,分组等等,这里只介绍了最简单的也是最核心的 Code-Review 功能的简单使用。

    8.5K90

    初创公司该如何做好持续集成和部署

    这种方式使用简单,但无法充分发挥 git 的优势。 第二种:功能分支工作流, 与上一种不同的地方在于,除了 master 分支以外还有功能分支。...日常开发在功能分支,提测集成时提交 Merge Requests(在 Bitbucket 中是 Pull Request)。...Gerrit作为创业公司代码审核工具略显复杂,不足够敏捷,建议使用GitLab的 Merge Requests 或者 Github 和 Bitbucket 中的 Pull Requests 作为代码审核和讨论的工具...每个项目详细写 README.md 文件,详细说明,各个环境对应的访问路径、目录说明、构建压缩方式,Nginx配置等,代码仓库中包含额外的 test 目录存放测试用例(本着谁开发谁写测试用例的原则);...2.日常变更 日常变更包括服务配置的变更和代码配置的变更,这些操作我们是通过 Ansible,相比 puppet/salt 的好处就是简单方便不用装 agent,后面会详细介绍如何基于 Ansible

    98220

    如何向ONOS社区贡献代码

    Jenkins是一个进行代码构建、测试、部署的自动化工具,在这里主要用于每次向Gerrit进行一次submit后,自动触发一次ONOS代码构建和测试,就像我们在本地修改完代码以后尝试mvn clean...在Gerrit上的提交是自动与Github同步的,按照ONOS的说法,Github只是作为一个镜像,仅供Clone,不接受PullRequest。...注:同步到Github后,会显示为我们个人Github账号的一次commit信息。笔者暂时不知道两边的账号是如何匹配对应上的,暂且让注册的用户名和邮箱跟Github账号的一致吧。...点进我们提交的分支,如下是Jenkins构建的结果,这也将在上图的右下角“V”(Verified)中标示。 ?...7 Amend our submission 在Reviewer作出了修改意见后,我们需要切换回我们的分支去做修正,首先要在上图的网址中找到我们submission的编号(上图中是7677)接下来简单的几步如下

    92370

    sourceTree+gerrit管理代码

    第一次接触gerrit,会对这种代码管理方式非常排斥,尤其是习惯了用sourceTree配合git进行代码管理的同学。不爽归不爽,代码还得写,我们的目标是让开发过程爽起来。...比如无法直接push 2 提交代码过程中,如果冲突,gerrit默认不给merger权限。怎么处理?...4 配置本地gerrit 在之前创建的 .ssh文件夹中创建config文件(或直接拷贝配置好的config文件), config文件内容(注意user名称换成自己的的账户名,port端口默认29418...看过【Gerrit】Gerrit工作流程及使用手册这篇文章的就会知道,gerrit增加了codereview的流程。所以会依赖一个临时分支,我们提交代码需要提交到该临时分支。...这时候把分支reset到最近一次没有冲突的节点,将自己的改动stash,暂存。然后拉最新代码,这时候不会冲突,因为你的工作区是干净的,然后应用stash,这时候就算冲突,你本地解决一下就可以提交了。

    2.3K50

    本地git项目放到gerrit仓库的三种方法

    首先需要的前提是,Ubuntu当前用户的.ssh中id_rsa.pub都要添加到gerrit中。...过去是会有冲突的,会提示commit冲突问题 fatal: refusing to merge unrelated histories,我们需要将gerrit中的提交先合到我们本地的代码仓库中 git...推送所有分支和标签到Gerrit上: git push --all git push --tags 方法二 先git clone把现有的代码克隆到本地,然后在gerrit里新建一个与本地项目名称一样的项目...推送所有分支和标签到Gerrit上: git push --all git push --tags 方法三 此方法一定要切到root用户下,在gerrit_site/git目录下输入 git clone...--mirror YourGitCloneAddress 下载完成restart一下gerrit,就可以在gerrit中看到刚刚clone的项目了!

    8.6K10

    GIT,GERRIT,REPO的使用教程

    Git、Gerrit、Repo使用 三者各自功能 gii,版本管理库,在git库中没有中心服务器的概念,真正的分布式。 repo,repo就是多个git库的管理工具。...如果是多个git库同时管理,可以使用repo。当然使用gerrit,就必须用repo。...orgin的远程版本库中 git checkout HEAD [],清除工作目录树中的修改 打补丁 将commit打包成patch 修改代码 $ vi drivers...比如这个 branch 改好了后,你是需要上传到 gerrit 进行 review,那么就该使用 repo start。 如果只是一个临时实验性的分支的话,就无所谓了。...其中 cherry-pick 是比较常用的方式,你选了下载方式后,gerrit 会智能的生成相应的命令,只需要复制下来,然后在项目目录下面执行这个命令就可以了。

    5.3K40

    Git+Gerrit如何永久删除历史文件(大文件私密文件)

    git reset --soft命令一样是无法将提交记录从仓库中抹掉的,虽然通过reset之后,大文件的提交记录在git log中已经查找不到,但实际上,这个记录并不会真正的从仓库中删除,只要能找到commit...,也就是说,想要永久删除仓库中的某个文件,这样是行不通的。...删除命令 如果所有分支都是unchanged说明要么是该分支没有要删除的文件,要么是删除文件的路径不对。 执行以后命令以后,你会发现本地目录中的.git文件并不会马上就变小,而是与原来是一样的!...那么接下来只要把本地的记录,强制更新到远程仓库就行了。 强制更新是一个非常危险的动作,一定要确保你的本地内容是最新的,已经没有人在你之后提交了代码,否则会将其它的人提交的代码也一并删除了。...强制推送命令如下: git push origin master --force #其中master为你要推送的分支 3)由于我们采用的是gerrit进行代码审核,想当然地就认为,应该把这次修改强制推送到

    2.6K20

    Android中管理代码基本工作流程

    (Git上运行的Google构建的存储库管理工具) Git Git用在处理分布多个存储库项目中,Android使用Git进行本地操作,如本地分支,提交,差异和编辑,安装Andriod项目的挑战之一是如何最好的支持外部社区...其他工具 其他工具包含Gerrit,一个基于Web的代码审查系统,用于使用Git项目, Gerrit允许授权用户提交修改,鼓励更集中的使用Git,如果通过代码审查,则会自动合并.另外,Gerrit通过浏览器中并排显示更改并内嵌评论...每当你开始更改时,例如在开始处理错误或新功能时,在本地工作环境中创建主分支,主分支不是原始文件的副本,它是一个指向特定提交的指针,这使得创建本地分支并在它们切换是一种轻量级操作.通过使用分支,你可以将工作与其他方面分开...git diff cd ~/WORKING_DIRECTORY/PROJECT git diff –cached 图2:未提交和已提交的编辑 提交更改 提交是Git中修订控制的基本单元,...由整个项目的目录结构和文件内容组成,在Git中创建一个提交: git commit 当提示你提交消息时,请为提交给AOSP的更改提供简短描述,如果不添加提交描述,则提交终止: 上传更改到Gerrit

    1.5K10

    如何向OpenDaylight社区贡献代码

    Gerrit概述 Gerrit是一个基于Git的,用于review code commit的框架,无论是OpenDaylight、ONOS或者是OpenStack都使用Gerrit作为他们的代码管理工具...Git是一个版本控制系统、gitk是一个对commit图的可视化工具、git-review是Gerrit的命令行工具,它能使得Git clone或者提交change或者fetch变得简单。 1....关于commit的信息如何填写可以参考这个链接(推荐的commit信息格式):http://chris.beams.io/posts/git-commit/ 4.5 将你的代码发布到Gerrit,等待审查者审查...5.更新Patch 事实这一步骤在开源社区中是最关键的,在你的代码提交后,拥有相应权限的管理员会对你的代码进行审查,他会进行review,会给你提出建议与你交流。...Python有一个可以利用docstring自动生成文档的工具。 ? 如果你按照4中的流程重新走一遍,那么你会提交一个新的patch。这是没有必要的,下面就是本小节的内容,如何更新你的patch。

    1.2K90

    CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接

    Gitlab保护Master 分支:在 Gitlab 上创建的项目可以把 Master 分支保护起来,普通用户可以自己创建分支并提交代码到自己的分支上,没有权限直接提交到Master分支,用户最后提交申请把自己的分支...的项目中,所以需要当 Gerrit 项目仓库有变化时自动同步到Gitlab的项目仓库中。...上的管理员账号是gerrit,邮箱是gerrit@xqshijie.cn 创建了一个普通账号wangshibo,邮箱是wangshibo@xqshijie.cn [root@115]# su - gerrit...是在gerrit上,而gerrit上现在是没有项目的,想让gitlab上的项目能在gerrit上review的话,必须在gerrit上创建相同的项目,并有相同的仓库文件....按照上面同步配置后,Gerrit里面的代码就会自动同步到Gitlab上,包括master分支和其他分支都会自动同步的。

    4.5K91
    领券