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

如何保留原提交记录迁移Git项目,你还不知道吗?

番外篇 保留原提交记录迁移Git项目 为了让项目能实现Git+Gerrit+Jenkin的持续集成,我们把项目从Git上迁移到了Gerrit上,发现有的同事在老Git提交代码,因为Gerrit做了同步,...在Gerrit上有新提交的时候就会刷新老git,这样就会把他提交的代码冲掉。...这个时候我就必须要在两个相似项目之间合并提交了,以后只在新项目上提交代码。 迁移步骤 git clone 下载老项目并提进入项目目录 ?...保证当前仓库干净 推送代码到新仓库,git push git_new master 字符串 git_new 指代对应的仓库地址,也就是我们刚刚取的别名,master代表想要推送的分支,可以随便选 ?...因为在新的项目上合并老项目的代码,对于新项目来说是一次新的代码提交,所以只允许当前提交用户来提交,但是代码历史里有其他人的提交记录,Git是不会允许通过的。

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

    喜提 Go Contributor

    Gerrit go 在所有的 PR 中,typos 是最简单的,找到 comment 中的一些拼写错误,就可以提交 fix。...发现了 typos 之后,按照 Go 官方给的步骤一步步操作就可以提交了。 因为 Go 源码是用 Gerrit 托管的,所以最好是按照 Gerrit 的流程来操作。...提交 typos 可能很初级,在大神看来不值一提,但是对于一般同学而言,这可能是遥不可及的。但是我要说,你以为的遥不可及,很可能是压根就没想到过自己竟然可以给 Go 提交代码。...以前自己一个人埋头学习的时候,有很多信息确实不知道,书上不会告诉你去给 Go 提交代码。但是最近两年,混迹于各种微信群,刷各种公众号的推送文章,主动去做分享……感觉各种信息都追着你,你不想知道都不行。...提交了第一次,第二次、第三次还会远吗? 杨文在《Go 夜读》知识星球打卡 Go 源码阅读很长时间了,他也是最近一段时间才开始给 Go 提交 RP。

    61120

    Git快速入门

    由于GIT刚刚开始使用不久,经常会在Merge时出现没有change-id的情况,在结合gerrit使用时,经常出现不能提交的情形,使得自己很困扰。...Blob: 就是一块内存区域,其中内容可以是文本,源码或者图片 Tree: 类似文件系统中的目录,可以指向blob或者其他的树,就像目录可以包含文件和子目录一样 Commit: 包含提交者的信息(姓名,...,需要注意的是提交什么的哈希码,是通过SHA1算法获得的160bit哈希值,在分布式版本控制系统中需要使用SHA1来唯一标识,而不是顺序ID。...有时,在merge操作后,在gerrit出现不能提交的情况,可以通过该命令,为merge commit产生一条changeID。...其中困扰我良久的change-id其实不是git中的概念,而是gerrit中的概念,它通过hooks的方式(其实就是面向切面的拦截器,在C语言中一般叫做hooks钩子,位于.git\hooks\文件夹中

    879100

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

    于是在Gerrit上查看了近几次提交记录发现两个非常大的临时文件被上传了,并且审核通过被推送到Git仓库中,没错就是这俩货: ? ?...git reset --soft命令一样是无法将提交记录从仓库中抹掉的,虽然通过reset之后,大文件的提交记录在git log中已经查找不到,但实际上,这个记录并不会真正的从仓库中删除,只要能找到commit...id,依然可以从仓库中恢复该提交历史。...gerrit上,然后再由gerrit上审核通过,并推送到远程仓库。...推送权限出错 推送不上去,由于配置了gerrit,普通权限的开发人员是无法直接推送到远程仓库的,否则gerrit就形同虚设了呀。那么就来看看gerrit可以配置那些权限。

    2.6K20

    Ubuntu下安装部署Gerrit

    integrator在web页面进行代码的审核( review),当代码审核通过( approve)之后,这次代码才会被提交( submit)到代码仓库( repo)中去。...3.代码审核通过或被拒绝,代码提交者( Contributor)和所有的相关代码审核人员( Integrator)都会收到邮件提醒 4.gerrit还有自动测试的功能,和主线有冲突或者测试不通过的代码,....提交者不能直接把代码推到远程的 master主线(或者其他远程分支)上去。...假如我们远程只有一个master主线,那么只有当你的代码被提交到 refs/for/master分支时,gerrit才会知道,我收到了一个需要审核的代码推送,需要通知审核员来审核代码了。...#解压安装 安装过程只需要看到配置 Authenticationmethod时输入 http其他的一概回车;在目录 /home/gerrit/新建用户 $ htpasswd -c /home/gerrit

    3.4K20

    Gerrit的用法及与gitlab的区别

    经过一番沟通了解,原来他们的代码没有直接在gitlab上操作,而是先提交到gerrit,然后在提交到git。但是代码拉取的时候,不会直接从gitlab上拉取。...所以,我提交到gitlab上的代码,同事们都没有拉取到。 新团队使用的代码审核工具是gerrit,因为之前一直使用的是gitlab,审题提交也都是使用的gitlab。...他在传统的源码工具管理协作流程中强制性引入代码审核机制,通过人工代码审核和自动化代码验证的方式,不符合要求的代码屏蔽在代码库之外,确保核心代码多人校验、多人互备和自动化构建核验。...- 安装mysql数据库:用来保存gerrit中的用户以及用户提交的记录 - 安装gitlab:用来和gerrit做集成 - 集成jenkins:代码提交到gerrit时,自动提交到gitlab 2)Gerrit...其他功能都是差不多的 二、对比Gerrit和gitlab Gerrit其实就是多了一个审核功能,个人觉得没有必要非要使用gerrit,尤其是小团队。gitlab的审核功能足够了。

    2.6K20

    基于OpenStack和Docker设计的CICD

    ① 开发者准备好一个单节点环境,将开发工具链接到远程开发目录,并使用Git将代码提交到代码评审系统Gerrit中,目的是通过协作发现一些明显的问题,减少把Bug带到软件中的概率。...② 当Jenkins持续集成系统检测到Gerrit系统的代码提交事件后,触发相关的Job任务,自动化执行代码编译、打包、构建、部署和测试等工作流。...③ 根据测试结果和其他信息综合决定此次开发人员提交的代码是否合并,这样保证只有通过了测试和审核的代码才能合并到GitLab仓库中。...Docker镜像构建后,Jenkins系统会自动将镜像推送到私有Registry仓库中。整个流程如下图所示。...很多企业内部都有一套标准化规范,在这套规范中定义了开发所使用的语言、框架、软件包版本及依赖环境等,这样做可以统一开发环境并解决因差异化带来的其他问题。

    1.4K30

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

    同样的,将gerrit的其他两个普通账号wangshibo和jenkins也在linux服务器上生产公私钥,邮箱分别是wangshibo@xqshijie.cn和jenkins@xqshijie.cn...(gitlab+gerrit+jenkins环境配置后,提交到gerrit上审核的subjects的review人员中会默认第一个是jenkins,jenkins有结果并verified后,其他人员才能...自己检查没问题后,点 “Reply”按钮,在“Verified”中 +1,在“Code Review”中 +1,并点“Post“ 在”Reviewer”栏中,点击”Add"添加审核者 [如果不添加审核者...如果审核通过,点 “Reply”按钮,在“Verified”中 +1,在“Code Review”中 +2,并点“Post”,最后点击“Submit“提交!...gerrit里, 而不能直接push推送tag标签到gerrit里!

    4.5K91

    本地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

    Gerrit常见命令及最佳实践

    概述 本文记录了笔者在使用Gerrit(一种免费、开放源代码的代码审查软件)过程中的一些微小的经验,在这里做个简单的分享。...master分支,而是会选择在develop分支进行开发 git checkout -b develop origin/develop 添加到暂存区 修改代码后,将所修改的代码从工作区添加到暂存区 //...添加所有文件到暂存区 git add . // 添加某目录或文件到暂存区 git add src 提交改动 将暂存区内容提交到版本库 git commit -m '测试commit' 推送到远程分支...git push origin HEAD:refs/for/develop 常见报错 missing Change-Id in commit message footer 先执行这两条命令,命令中的信息改成自己的...在Gerrit上abandon这次push 2. 软回滚 git reset --soft origin/master 3. pull代码 git pull 4.

    2.5K30

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

    其他工具 其他工具包含Gerrit,一个基于Web的代码审查系统,用于使用Git项目, Gerrit允许授权用户提交修改,鼓励更集中的使用Git,如果通过代码审查,则会自动合并.另外,Gerrit通过浏览器中并排显示更改并内嵌评论...]合并指定分支到当前分支git diff显示未跟踪更改的差异git diff –cached显示分阶段更改的差异git log显示当前分支的历史记录git log m/[codeline]..显示未被推送的提交...,主分支不是原始文件的副本,它是一个指向特定提交的指针,这使得创建本地分支并在它们切换是一种轻量级操作.通过使用分支,你可以将工作与其他方面分开,有关使用主分支的文章,参见 Separating topic...查看客户端状态 列出文件的状态: repo status 查看未提交的编辑(没有标记为提交的本地编辑): repo diff 查看提交的修改(找到被标记为提交的编辑),确保你在项目目录下,然后用缓存的参数运行...由整个项目的目录结构和文件内容组成,在Git中创建一个提交: git commit 当提示你提交消息时,请为提交给AOSP的更改提供简短描述,如果不添加提交描述,则提交终止: 上传更改到Gerrit

    1.5K10

    Gerrit代码Review入门实战

    在实践中,给大家推荐一款免费、开放源代码的代码审查软件Gerrit。 1、Why Code Review Code Review是什么 Code Review最直观的解释即看代码。...如果这个人休假或辞职了,其他人则束手无策。通过代码审查,至少会有两个人熟悉这些程序——作者,以及审查者。审查者并不能像程序的作者一样对程序十分了解,但至少他会熟悉程序的设计和架构,这是极其重要的。...2、Gerrit简介 Gerrit是Google为Android系统研发量身定制的一套免费开源的代码审核系统,它在传统的源码管理协作流程中强制性引入代码审核机制,通过人工代码审核和自动化代码验证过程,将不符合要求的代码屏蔽在代码库之外...Gerrit入门实战-初级修补 如果所有代码提交均被打回,可以进行暴力回滚:git reset ,接着重新提交Gerrit,再进行Gerrit审查入库。 ? ?...git rebase --continue,然后重新提交Gerrit,最后Gerrit审查入库。

    2K50

    Gerrit上分支操作记录(创建分支、删除分支)

    应开发同事要求,要在他们的项目下创建除master默认分支之外的其他分支 在gerrit上创建分支,这里我总结了下面两种情况的操作,在此做一详细记录:  (1) 第一种情况:gerrit上还没有创建项目...也可以理解在本地如何删除远程分支: git 删除远程分支 一不小心把本地的临时分支push误提交到server上去了,想要删除。...其实也是一个push推送过程,只不过是推送的空的而已! 比如下面一例,在本地误提交了一个分支到远程的gerrit上了!现在需要删除。...也可以理解为在本地创建分支,然后推送到远程新分支上: 命令格式如下: #git push origin local_branch:remote_branch 注意: 这个操作,local_branch必须为你本地存在的分支...上创建同名分支 4.切换到clone下来的代码的各个分支,然后将分支内容push到本地新gerrit上的同名分支上 ******* 把本地仓库提交到远程仓库的master分支中(其他分支操作一样) git

    6.4K50

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

    Code Review 主要用来在软件工程过程中改进代码质量,查找系统缺陷,保证软件总体质量和提高开发者自身水平。 2、Gerrit 介绍 Gerrit 是一个免费、开放源代码的代码审查软件。...这里我们要实现的是,本地 Git 提交代码 review 到 Gerrit,在 Gerrit 上做 Code Review,如果 commit 通过则直接 merge 到分支,不通过则再修改并 update...这里我在本地使用 docker 快速搭建一个简单的 gerrit 服务。...6.4 Clone 项目 clone 远程项目到本地,这里 clone 有两种,第一种只 clone 项目,第二种 clone 项目的同时,复制 gerrit 提供的 commit-msg 钩子脚本,它的作用是在每次新的提交时生成...接下来正常执行 git 操作,但是 commit 完成后,不需要 push,只需要执行: git review #会自动推送到我们的 gerrit 服务器上 然后相关负责人去 gerrit 上做 Code

    8.5K90

    Git Bash⭐二、与仓库建立连接、提交与下拉项目

    我们会将项目提交到仓库去,供别人下载。 仓库不仅仅指的是github这一个仓库,还有gerrit等也是仓库。 Git Bash,只是一个工具,供我们上传项目、下载别人修改的东西等的工具。...说一下学生认证 以前github的教育认证可以让学生和教育者免费使用私有仓库,并且还有许多其他的优惠政策。比如github的一些付费功能,教育认证之后会有巨大的折扣。...3️⃣ 查看缓存区的文件 git status 4️⃣ 添加本次更新备注 git commit命令将索引的当前内容与日志消息、用户对本次更新的备注一起存储在新的提交中,等待最后的上传。...git commit -m "你的修改备注" 5️⃣ 推送上传 第一次推送上传: 向一个空的远程仓库中推文件: git push -u 本地仓库名称 远程分支名称 仓库名称:刚才我添加连接的时候,给仓库起名叫...但是在团队合作中,push报错,那铁定是你队友修改了远程仓库,如果你再强制上传,那你就是毁了你队友的代码。所以需要在你修改之前,自己的文件跟远程仓库保持一致。

    19410

    在整个 Git 仓库的历史(包括所有分支和标签)中修改提交作者的信息(姓名和邮箱)

    请先复制以下命令到你的临时编辑器中,然后修改这段多行命令中的几个变量的值。...) CORRECT_NAME 修改为你的新名称 CORRECT_EMAIL 修改为你的新邮箱 对我来说,新名称也就是我在 GitHub 上的名称 walterlv,新邮箱也就是我在 GitHub 上公开使用的提交邮箱...将以上修改后的命令粘贴到 Git Bash 中,然后按下回车键执行命令: 等待命令执行结束,你就能看到你的仓库中所有的分支(Branches)、所有的标签(Tags)中的旧作者信息全部被替换为了新作者信息了...第三步:推送仓库 如果你只是准备开源这个仓库,还没开始推送,那么直接推送即可。使用以下命令推送所有的分支和所有的标签。...使用以下命令推送所有的分支和所有的标签。

    40720

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

    下面一步很重要,就是说提前把下面的两个软件放到相应的位置,以防在gerrit安装过程中再去执行下载操作(因为安装过程中再去下载,由于网速问题会failed!)...Forge Author 伪造发起人权限,此权限允许用户绕过提交时的身份验证(Gerrit默认会匹配提交信息中author或者committer行中的email地址,如果 Email地址不匹配,则不允许提交...Forge Committer 伪造提交者权限,此权限允许用户绕过提交时的身份验证(Gerrit默认会匹配提交信息中author或者committer行中的email地址,如果 Email地址不匹配,则不允许提交...中移除其他用户。...Submit(On Behalf Of) 此类权限允许有Submit权限的用户代表其他用户提交change。 在project.config文件中,此权限被命名为submitAs。

    2.5K90

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

    作者简介 苏玲,5年软件配置管理及7年持续集成经历。曾在苏州科达科技和大众点评任资深配置管理工程师,目前为携程代码中心负责人,专注于代码相关的平台建设,致力于提高研发效率与研发质量。...每次review都要提交两个分支进行合并的Merge Request,这种方式简称为MR 。 三、Gerrit与Gitlab的PK 我们只比较两个平台在代码评审上的差异,然后提炼出优点。...而Gitlab没有pre-commit的功能,只提供了post-commit的功能,也就是在同一个Git仓库中,任何开发人员必须向Git仓库推送自己的分支,然后发起Merge Request后才能请别人帮忙...另外,你们每次做review,都得打开Gitlab的页面,手工发起一个Merge Request,这个太麻烦了,大家看看Gerrit的做法吧,开发人员只要在自己的开发设备中,push一个特殊的变更,Gerrit...因为所有的变更都要求在第一时间提交到唯一的开发分支上,保持持续的集成,如此一来,特性分支就没必要存在了。这种情况下,用CHANGE最适合。

    1.2K20

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

    更复杂,学习成本更高 对于大文件的支持不是特别好(git-lfs 工具可以弥补这个功能) 1.2 Git发展历史 作者 Linus Torvalds(就是Linux这个项目的作者,同时也是Git的作者...Gerrit:https://android-review.googlesource.com/ 由Google开发的一个代码托管平台,Android 这个开源项目就托管在Gerrit 之上。...基本原理 依托于Change ID概念,每个提交生成一个单独的代码评审。 提交上去的代码不会存储在真正的refs/heads/下的分支中,而是存在一个refs/for/ 的引用下。...提交Pull Request后最少需要保证有CR后再合入 主干分支尽量保持整洁,使用fast-forward 合入方式,合入前进行rebase 大型团队合作,根据自己的需要指定不同的工作流,不需要局限在某种流程中...常见问题 在Gerrit平台上使用Merge的方式合入代码。 Gerrit是集中式工作流,不推荐使用Merge方式合入代码,应该是在主干分支开发后,直接Push。

    1.1K30
    领券