添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Git For Windows: https://git-for-windows.github.io/

建议以Git Bash方式运行,这样更加了解每个动作后面做的事情,GUI各家背后做的事情完全对用户屏蔽,对程序员而言非常不友好。

git bash:
cd /path/to/proj
git fetch origin
git checkout -b feature1 origin/master
git branch -a

上述命令的作用是拉取远程仓库的最新代码,建立本地分支feature1和远程分支origin/feature1的跟踪关系。 首次拉取需要fetch和从远程分支建立本地分支,以后只需要pull远程分支到本地即可:

git checkout feature1
git pull origin feature1

功能分支开发完成后,我们需要将其合并到CI分支并提测,整个操作如下:

git checkout -b ci origin/ci 或 git checkout ci & git pull origin ci
git merge feature1
git push origin ci
  
  • 建立本地CI分支到远程CI分支的跟踪。如果已经建立,切换到CI分支,执行拉取最新的代码合并到本地
  • 将feature1分支合并到CI分支,合并的过程中可能产生冲突,根据具体情况进行冲突解决
  • 将合并后的CI分支推到远程CI分支并提测
  • 如果出现功能放弃,或者延后发布

    从MASTER重新建立CI-NEW分支,对每个本冲刺可以发布的功能,在CI-NEW上执行合并操作。将CI-NEW提测,并验证可发布的功能是否有问题。

    git checkout -b ci-new origin/master
    git fetch origin/feature1..n
    git merge feature1..n
    git push origin ci -f
    

    这里,为了保持CI的一致性,用ci-new覆盖ci(加了 -f 参数)。

    解决上冲刺发布的bug

    MASTER分支处于锁定状态,理论上本冲刺迭代期不会对其产生更改,但是不排除有线上紧急bug,需要紧急修复的场景,这种情况下,需要从MASTER分支开BUG分支,解决bug,并合并回MASTER分支。

    git checkout -b bug-fix origin/master
    //fix bug
    git push origin bug-fix
    

    如果预发验证过程中,出现bug,需要持续迭代的,那么,就根据具体的bug出现的原因来决定具体的解决方式。

    如果是本冲刺的功能开发产生的bug,那么需要在对应的功能分支上修复对应的bug,然后重新合并到CI分支,进行重新上预发操作。

    如果是功能合并后的,有部分数据结构和线上冲突了,那需要根据具体情况决定解决策略。

    预发验证通过,即可打标签,上生产

    git checkout master
    git tag release-tag
    git push origin release-tag