haixin3036 发表于 2018-9-18 06:26:35

git - openstack代码提交

# git branch -a   # 基于master分支有个cr-dev分支  
* master
  
remotes/origin/HEAD -> origin/master
  
remotes/origin/cr-dev
  
remotes/origin/master
  

  
# git checkout--track origin/cr-dev# --track 可以让本地分支cr-dev和远程分支cr-dev做upstream
  
Branch cr-dev set up to track remote branch cr-dev from origin.
  
Switched to a new branch 'cr-dev'
  

  
# git branch -a
  
* cr-dev
  
master
  
remotes/origin/HEAD -> origin/master
  
remotes/origin/cr-dev
  
remotes/origin/master
  

  
# git checkout -b fix_haproxy_influxdb# 基于本地cr-dev分支,创建一个新的branch出来作为review的topic
  

  
# git branch -a
  
cr-dev
  
* fix_haproxy_influxdb
  
master
  
remotes/origin/HEAD -> origin/master
  
remotes/origin/cr-dev
  
remotes/origin/master
  

  
# 在你提交之前,远程分支cr-dev上已经有几个commit了,这时候需要git rebase
  
# git checkout cr-dev# 切换到cr-dev
  

  
# git branch -a
  
* cr-dev
  
fix_haproxy_influxdb
  
master
  
remotes/origin/HEAD -> origin/master
  
remotes/origin/cr-dev
  
remotes/origin/master
  

  
# git fetch origin # 这里不用git pull,git pull相当于git fetch && git merge过程
  
# git merge origin/cr-dev # 和远程的cr-dev分支合并
  

  
# git checkout fix_haproxy_influxdb # 切换到fix_haproxy_influxdb分支
  
Switched to branch 'fix_haproxy_influxdb'
  

  
# git rebase -i cr-dev # 会将cr-dev分支的代码合并过来,并按照提交的顺序排序
  

  
# git add *
  
# git commit
  
# git review
  

  
# 如果gerrit code reivew merge的时候遇到如下错误,如何解决?
  
The change could not be merged due to a path conflict.
  
Please rebase the change locally and upload the rebased commit for review.
  
解决:
  
    git checkout master
  
    git pull --rebase
  
    git checkoutbug/1485710(举例bug分支)
  
    git rebase -i master
  
    有冲突,手动解决
  
    git add .
  
    git commit --amend
  
    git review
  

  
# git生成patch
  
# git format-patch 前commit-id 后commit-id(不写,默认最后一个commit-id)
  

  
# 如何解决gerrit和gitlab数据不一致
  
找出gerrit数据目录
  
GerritCodeReview -jar /etc/review_site/bin/gerrit.war daemon -d /etc/review_site --run-id=1445571445.29699
  

  
/etc/review_sitegerrit数据目录
  

  
# ll /etc/review_site/git/openstack/
  
total 0
  
drwxr-xr-x 7 root root 129 Nov3 11:39 cinder.git
  

  
删除cinder.git
  
# cd /etc/review_site/git/openstack/
  
# rm cinder.git
  
# git clone --bare git@172.16.102.51:openstack/cinder.git # 加上--bare选项


页: [1]
查看完整版本: git - openstack代码提交