美文网首页php技术
phpstorm + git的一些总结

phpstorm + git的一些总结

作者: 张大胆_6a19 | 来源:发表于2019-03-03 14:11 被阅读0次

    1、A自己开发一个分支

    a)我们git pull拉去远程分支,并自动切换相应工作分支,比如feature;然后我们修改文件,不要commit


    image.png b)保证远程feature没有其他commit,我们通过phpstorm,再次pull或者fetch一遍该feature,并且check out一个新本地featrue image.png

    我们发现,当前Index.php文件依然为蓝色,并且内容不变

    c)也就是说,如果当前分支没有进行commit,也就是远程feature和本地feature是相同版本的,那么无论pull和fetch,都不会改变当前编辑状态下任何文件,除非两个版本不相同,要么远程feature已经被提交过,或者本地commit过。

    2、A和B同时开发一个feature分支

    a)A feature开始开发,发现忘记提交了,然后pull最新的feature,发现如下提示


    image.png

    这个的意思是,你没有commit,但却产生了冲突,pull会破坏你的工作,所以你需要commit你的feature(因为这样才能保证你的代码安全)

    果然再次pull的时候出现merge界面

    image.png
    image.png

    IDE的意思是让我们通过,这种实时方式解决冲突;但我想通过这种方式知道有冲突,而不用这种方式解决冲突,于是我们abort;发现多了一个错误,我们可以Revert回到冲突之前状态


    image.png

    c)通过重新pull方式解决冲突。又发现了问题,意思是MERGE_HEAD exists;


    image.png

    我们可以通过reset head回到上一版本的head


    image.png
    可以解决冲突了

    d)也可以用a的方式解决冲突

    e)有个bug,解决玩完冲突的时候发现push不上去,我们需要改动一些代码,重新commit,commit时候可以选择把解决冲突的信息带上。

    3、A和B不同分支(FeatureA,FeatureB),分别向develop PR

    a)当A先向develop PR的时候,可以自动合并


    image.png

    b)当B先向develop PR的时候,此时如果A再向develop PR,发现冲突


    image.png

    c)A开始解决冲突

    方式一:直接A的feature项目pull,解决冲突


    image.png

    方式二:
    1、远程develop checkout as一个新分支develop


    image.png

    2、checkout feature分支,然后选择develop右键Merg into Current,意思是说把develop合并到feature。
    3、commit一下,push一下,可以把develop删除了
    4、好了,再次feature->PR->develop


    image.png

    相关文章

      网友评论

        本文标题:phpstorm + git的一些总结

        本文链接:https://www.haomeiwen.com/subject/fzbpuqtx.html