工程化专题之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]