美文网首页
repo/gerrit总结

repo/gerrit总结

作者: NapoleonY | 来源:发表于2018-01-02 15:08 被阅读489次

    楔子

    新接手一个项目,要用到repo和gerrit,总结下repo使用过程。

    repo/gerrit概述

    • repo是可执行的python脚本,能更好的管理和使用git
    • gerrit是一种基于web的代码评审工具,使用git。通过浏览器显示每一步变化,是审查更加容易

    repo命令

    • repo init -u URL -b 分支名在当前目录创建一个特定的repo目录,从url中取得manifest文件,-b 分支名用来指定某个manifest分支
    • repo sync -c
      • 第一次运行,相当于git clone,把repository中所有内容拷贝到本地
      • 不是第一次运行,相当于更新和自动合并工作
      • -c表示仅仅获取当前分支的内容
    • repo start <newBranchName> --all 创建特性分支。由于刚克隆下的代码没有分支,因此需要本地创建特性分支

    cherry pick

    git cherry-pick commit_id:把另一个本地分支的commit的修改应用到当前分支
    例如:在分支A上修改了文件A,git commit后,重新创建一个分支B,想在文件A的基础上继续更改,但又不想提交这些额外的更改,就可以提交分支A上的A文件,然后切换到分支B上,git cherry pick A_commit_id,然后继续操作即可

    repo start

    repo start branchName:开始一个新的分支

    repo upload .

    repo upload .上传代码

    遇到的问题

    1. repo sync -c克隆到本地的代码没有分支,更改代码后,无法提交代码。此时需要repo start branchName创建分支,此时会发现之前commit的代码没有了。
      解决步骤:
      1. git reflog:该命令可以查看所有分支的所有操作记录,包括已经被删除的commit记录,git log不能查看已经被删除的commit记录
      2. git cherry-pick commit_id:可以将commit_id对应的更改合并到当前分支上

    参考

    1. Git和Repo管理使用简要介绍
    2. Repo 命令手册
    3. 开发
    4. git cherry-pick简介
    5. repo使用

    未完待续

    相关文章

      网友评论

          本文标题:repo/gerrit总结

          本文链接:https://www.haomeiwen.com/subject/gzofnxtx.html