首页 > 代码库 > github

github

总体流程: checkout 主干版本

在本地创建自己的分支,修改代码
在本地add并commit修改
将本地分支推送到远端代码库
在gitlab操作,生成远端个人分支和主干分支的diff
review完成后点击accept merge request
删除本地和远程个人分支,进入下一轮提交

step 1)创建ssh key

      1.1)备份现有的key          cd ~/.ssh          mkdir key_backup          cp id_rsa* key_backup          rm id_rsa*     1.2)生成新的ssh key          ssh-keygen -t rsa -C "your_email@youremail.com"(这里的邮箱必须与gitlab上的注册邮箱一致),一路回车     1.3)拷贝id_rsa.pub内容          cat ~/.ssh/id_rsa.pub (请确认内容中没有换行符,从vim中拷贝有时会有换行;请确认邮箱与gitlab注册邮箱一致)     1.4)上传到gitlab          登录到gitlab,点击myprofile,点击add public key。标题自己命名,把id_rsa.pub的内容拷贝到输入框中,点save保存

step 2)checkout主干版本(对于照妖镜项目,libpcap是我们的主干

      2.1 克隆代码库 git clone git@gitlab.alibaba-inc.com:sysnet/trafficmirror.git     2.2 checkout 主干分支  git checkout libpcap

step 3) 更新代码至最新版本(对于非第一次修改主干分支代码实用)

      git pull origin libpcap

step 4) 创建本地个人分支(以dtdev为例)

      git checkout -b dtdev

step 5) 修改并在本地提交修改

      5.1 修改代码 如tcpip.c, 增加文件如tcp_handle.c     5.2 add tcpip.c tcp_handle.c     5.3 通过git status查看文件当前状态,通过git diff查看本地修改是否符合预期     5.4 通过git commit -m "****"提交本地修改

step 6) 推送本地分支至远程

     git push origin dtdev

step 7)在gitlab上发起merge request

step 8)merge request被批准后,可以将个人(远程和本地)分支删除或者更新成与主干相同的,推荐删除(change history会比较干净)

      删除远程分支的方法: git push origin :dtdev     删除本地分支: git branch -d dtdev    (-D是强制删除)  

github