kingforce 发表于 2018-9-16 11:29:50

工程化专题之Git

  首先,来说,我们当前处理哪个分支上,这个分支的文件是什么状态?(这将是我们操作的基础信息)
  git branch
  git status/git status -s
  接下来,明确我们要在哪个分支上开发,从master创建分支开发?
  git checkout -b newBranch (创建并切换)
  开发完毕后,我们要切换到master上,想把newBranch合并进来:
  注意checkout切换分支的最佳方式是保持工作区域的干净,什么是干净呢?就是把变化的全部提交到newBranch本地版本库,否则git会提示阻止checkout。
  git checkout master
  git merge newBranch
  假设在newBranch分支上开发的中途,突然线上有问题,我们需要切换到master进行问题修复,而此时,我们不想提交到newBranch本地版本库,那么如何完成切换呢?
  采用stash机制,说白了,就是在工作区可以先暂存状态,既不提交到本地版本库,又可以切换到其他分支上,待再次切换到newBranch后,可以git apply进行工作区的状态恢复。
  如果合并出现冲突,怎么办?
  根据提示,一般采用人工解决。注意解决冲突后,再利用git add标志解决冲突即可。
  注意,Git的本地性,在进行合并操作(不论是合并本地分支、还是想要合并远程分支)时,一定切记,需要先在本地完成merge,解决冲突后,在git push推送到远程仓库上。
  如果Git合并没有冲突,是否就是一定没有问题?
  Git很智能,它能够根据commit的树形结构,智能的帮助我们分析出最佳合并的途径,但是合并没有问题,并不能说明合并后的代码一定是正确的,还是要对合并后的代码进行测试!

页: [1]
查看完整版本: 工程化专题之Git