• git如何做个人构建


    1      基本概念

    1.1      Git:Git是一个版本控制的工具,类似于svn。

    1.2      Gerrit:Gerrit是一个基于git的团队合作的工具,开发人员可以往上面提交代码,让同行审阅,再将代码入库。

    1.3      Repo:Repo是一个管理多个git工程的工具,只能在linux下使用,在windows下,我们使用cygwin来模拟linux环境。

    1.4      Jenkins:Jenkins是一个持续集成工具,主要运行编译任务,和打包任务等。

    2      步骤

    2.1      使用repo命令将Gerrit上的代码拉到本地。

    1. 新建一个空目录作为你的工作目录

     

    1. 在空目录下使用repo init命令来初始化,初始化后会生产.repo目录

    repo init -u http://10.22.112.116:8080/repo/manifest -b dev_r6c20 -m ssh.xml --no-repo-verify

     

    1. 使用repo sync命令来拉取代码,第一次较为耗时,大概需要几分钟。

    repo sync

     

    2.2      使用repo命令为每个git工程创建本地的个人分支(个人分支名为用户名,比如w00418504)

    1. 使用git checkout命令创建本地分支,上流分支是dev分支

    repo forall -j 4 -c "pwd && git checkout -b privatebuild/{username} origin/privatebuild/{username}"

    2.3      修改你想修改的文件,并作出本地的commit。

    1. 修改你想修改的本地文件,并作出本地的commit到本地的个人分支上。
    2. 使用repo forall -j 4 -c "git fetch --prune"

    2.4      使用repo命令同步远程的dev分支和本地的个人分支的代码。

    Git fetch是将远程的git工程的修改拉倒本地缓存,但是不做同步。

    1. 使用repo forall -j 4 -c "git merge --ff-only origin/dev_r6c20 || git rebase origin/dev_r6c20"

    Git merge -ff-only对于远程和本地没有同时修改的git工程可以做快速的同步,对于本地和远程都有修改的git工程会返回一个错误码,如果返回错误码,则调用git rebase可以同步本地和远程的代码。

    2.5      使用repo命令将本地的个人分支推送到远程的个人分支

    1. 使用repo forall -j 4 -c "git push origin privatebuild/{username}:privatebuild/{username}"

    Git push将本地的个人分支推送到远端的个人分支,如果远端不存在个人分支,则在远端创建个人分支;如果远端已经存在个人分支,则更新远端的个人分支。

    建议使用强制同步: repo forall -j 4 -c "git.exe push --force-with-lease --progress origin localName:privatebuild/userName"

    localName:在代码目录中右键,选择”Git Bash Here”,然后输入git branch,获取命令输出结果.

     

    username:即为远端上创建的个人分支

     

    2.6      使用jenkins页面启动需要的构建任务

    1. 通过http://10.93.96.164:8080/jenkins登录jenkins页面,点击PrivateBuildView。

     

    1. 选择需要编译的任务,比如Compile_Agent_Audio。

     

    1. 点击Build with parameter,见上图的红框。

     

    1. 在private_build_branch中输入自己的个人分支名字,如privatebuild/w00418504,然后点击“开始构建”进行个人构建。

    3      注意事项

    3.1      个人分支的同步问题

    每个开发人员都有责任维护自己的个人分支与dev分支的同步问题,并维护好每个git工程中的本地的和远端的个人分支。另外除了个人分支,不要直接修改其他分支。

  • 相关阅读:
    ELM学习
    《进化》从孤胆极客到高效团队
    《人件》《PeopleWare》 【美】Tom DeMarco TimothyLister 著 肖然 张逸 滕云 译
    《进化》从孤胆极客到高效团队---Notes1
    大数据第一部分LInux学习Note1
    C#Windows窗体初学
    C#初学笔记(Windows编程的基本概念)
    C#学习2017-9-26(读取文本文件和读取二进制文件)Notes9
    C#学习2017-9-26Notes8(文件和流,FileStream类)
    C#学习笔记Notes8(接口,接口实现,程序集,命名空间,using)
  • 原文地址:https://www.cnblogs.com/javier520/p/10773236.html
Copyright © 2020-2023  润新知