前端项目开发,git常见报错

208 阅读3分钟

这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战

前言:vue项目开发过程中,遇到一些问题需要重新切换分支开发,在不影响当前开发的情况下,当然也可以在原有分支上开发,发布完之后在新建一个分支将代码和过去,从新接着开发之前的项目模块,我这边是采用第二种方式,还在研究怎么新建master发布分支上的分支,也就是不需要合并我现在当前开发的一些提交代码!

业务情形:一期线上问题,需要立马修复发布线上,中断当前二期开发模块,发布线上的代码尽量不能包含现有二期开发内容,因为调试和测试原因,为了不影响线上的正常使用!

1.先拉取所有分支代码

git fetch

2.查看远程所有分支

git branch -r  //确保远程分支是创建成功存在的

3.先创建并切换分支

这里创建切换只实现了本地分支的创建和切换,并未和远程分支建立联系

git checkout -b origin/feature/20210819_10466022_onlinebug_1

4.将修改代码推到git仓库

一般问题就出在这个环节,一个是如果你在本地原有代码项目上切换分支,push的时候会发现你之前提交的所有commit的代码全都出现了,需要一起push这样就相当于是混入了二期新代码,我觉得应该可能是要从新clone一个项目单独开发,在原项目上切换,可能是vscode项目提交记录的存在,会默认让你一起合并当前的项目所有代码,具体这个问题还在研究当中....(有结果了我会更新这篇推文,请大家收藏关注)

//mac笔记本命令窗口
zhangsan@zhangsanMacBook-Air nodejs % 
    git push --set-upstream origin feature/20210819_10466022_onlinebug_1

push代码报错如下

  To http://gitlab.alibaba.zhangsan.git
  ! [rejected]        feature/20210819_10466022_onlinebug_1 -> feature/20210819_10466022_onlinebug_1 (non-fast-forward)
  error: failed to push some refs to 'http://gitlab.alibaba.zhangsan.git'
  //更新被拒绝
  hint: Updates were rejected because the tip of your current branch is behind
  //需要集成远程的分支代码pull,然后再push
  hint: its remote counterpart. Integrate the remote changes (e.g.**
  hint: 'git pull ...') before pushing again.
  hint: See the 'Note about fast-forwards' in 'git push --help' for details.

5.先集成远程仓库该分支下的代码

git pull origin feature/20210819_10466022_onlinebug_1

这个时候又会出现一个问题,就是你先前创建的本地分支未和远程分支做关联,git仓库拒绝了集成代码的请求,提示你先关联(--set-upstream)

fatal: The current branch feature/20210819_10466022_onlinebug_1 has no upstream branch.
To push the current branch and set the remote as upstream, use

      git push --set-upstream origin feature/20210819_10466022_onlinebug_1

6.先关联本地分支和远程分支

git push --set-upstream origin feature/20210819_10466022_onlinebug_1

7.再去pull和push代码就正常了

前面的问题还在研究,如果有小伙伴有解决方案,可以私信我学习学习,职场小白感激不尽