VSCode 合并分支过程记录

20200618 之前在 gitee 上建立一个仓库,当时直接建立了 2 个分支: master 和 develop ,之后,程序员一直在 develop 分支上修改代码,
因为 git 不熟练,项目代码也不熟悉,一直没有进行分支合并

中途曾经尝试 merge ,但是,每次看到一大堆 conflict ,就害怕而放弃

今天终于决定完整的测试一次,已然不是在实际的项目仓库上,而是导入到另一个仓库进行测试

以下记录一下完整过程,以便下次实际操作室参照

任务: 将 develop 分支合并到 master 分支

1、 命令行操作

打开 terminal ,并进入到本地仓库所在目录

之前已经配置并 clone 好远程仓库
$ git clone https://gitee.com/gold-spider/atc_frontend5

  1. 查看远程仓库信息
    $ git remote -v
    origin https://gitee.com/gold-spider/atc_frontend5 (fetch)
    origin https://gitee.com/gold-spider/atc_frontend5 (push)

  2. 查看分支
    $ git branch

      develop
    * master
    * 
    

    可以看到,当前分支是 master

  3. 切换并 clone 分支 develop
    $ git checkout develop
    Branch ‘develop’ set up to track remote branch ‘develop’ from ‘origin’.
    Switched to a new branch ‘develop’

    $ git clone -b develop https://gitee.com/gold-spider/atc_frontend5

  4. 切换到 master 分支,准备合并
    $ git checkout master
    Switched to branch ‘master’
    Your branch is up to date with ‘origin/master’.

  5. 将 develop 分支上的代码合并到当前 master 分支
    git merge develop
    返回信息如下:

    warning: Cannot merge binary files: src/assets/xas_chain_assets.png (HEAD vs. develop)
    warning: Cannot merge binary files: src/assets/xas.png (HEAD vs. develop)


    CONFLICT (add/add): Merge conflict in src/utils/util.js
    Auto-merging src/utils/util.js
    CONFLICT (add/add): Merge conflict in src/utils/constants.js

    Auto-merging README.md
    CONFLICT (content): Merge conflict in README.md
    CONFLICT (add/add): Merge conflict in .eslintrc.js
    Auto-merging .eslintrc.js
    Automatic merge failed; fix conflicts and then commit the result.

有大量的冲突!

2、打开 VSCode 处理冲突

  1. 在 VSCode 上打开以上仓库目录
    VSCode 合并分支过程记录_第1张图片
    可以看到,我们的 atc_frontend5 chanshengle 有 65 个合并变动需要处理

  2. 一次点击打开下方变动过的文件
    VSCode 合并分支过程记录_第2张图片在代码区,有冲突的地方都明显的标示出来
    VSCode 合并分支过程记录_第3张图片
    并且,给出来冲突解决选项
    Accept Current Change
    Accept Coming Change
    Accept Both Changes
    Compare Changes
    Start Live Share Session

    我们这个仓库参与人员不多,按照实际发展过程,我们应该接受 develop 分支上程序员带来的所有变化!也就是:
    Accept Coming Change

  3. 依次重复上一步,修改所有的变动

  4. 完成后,添加 ( + ),然后提交( Commit )试试
    VSCode 合并分支过程记录_第4张图片
    弹出来提示:
    VSCode 合并分支过程记录_第5张图片

  5. 远程查看一下是否提交上去
    VSCode 合并分支过程记录_第6张图片

  6. 测试、改错、测试
    一次很难处理干净那么多变动,所以,需要进行测试之后提交
    上图实际上是经过以下几轮测试之后的 push 结果

    这是一个 quasar 框架下开发的一个 Vue 单页面程序,所以测试过程如下:(下辖操作直接在 VSCode 里面的 Terminal 完成)

    $ npm i
    返回错误:

    npm ERR! file /Users/dhbm/Desktop/ATC/atc_frontend5/package.json
    npm ERR! code EJSONPARSE
    npm ERR! Merge conflict detected in your package.json.
    npm ERR! 
    npm ERR! Please resolve the package.json conflict and retry the command:
    npm ERR! 
    npm ERR! $ /usr/local/bin/node /usr/local/bin/npm i
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /Users/dhbm/.npm/_logs/2020-06-18T09_02_33_626Z-debug.log
    

    原来,刚才漏掉了 package.json,如下图,右边还标示着: 9+,M ,打开文件也确实看到有 Confilct 没有处理
    VSCode 合并分支过程记录_第7张图片

    运行一次 dev
    quasar dev
    报错如下:

    ......
    
     error  in ./src/i18n/de/index.js
    
    Syntax Error:   SyntaxError: /Users/dhbm/Desktop/ATC/atc_frontend5/src/i18n/de/index.js: Unexpected token (307:0)
    

    打开这个 index.js ,改掉漏掉的 Changes

    最终, quasar dev 正确!

  7. 再次 + 并且 ✅ ,然后 push 上去! ok !

你可能感兴趣的:(开发,日常记录,git,Merge,分支合并,VSCode,git,gitee)