项目开发git使用流程总结

实际项目总结:

1.开发

远程上gitlab基于原有分支新建自己的分支 远程分支名 并拉到本地(页面上创建,不要在本地通过命令创建并同步远程)
创建本地分支并且关联到远程创建的分支: git checkout -b 本地分支名 origin/远程分支名
如果报错没有这个分支使用git fetch刷新一下,重新获取远程仓库的分支
然后再次执行git checkout -b 本地分支名 origin/远程分支名

git提交格式:
git commit -m "feat(servicePackManagementDetail):根据checkbox值调整输入框清空和不可编辑状态"

2.开发完成后合并到test分支

  • 自己本地分支上,git pull拉取最新代码;
  • 将自己的代码提交并push到自己本地分支的远程分支;
  • 然后切换到test分支,再次git pull;
  • 然后执行命令 git merge 本地分支名
  • 记得最后git push到test远程分支
  • 注意:如果git merge时有错误或冲突,也可以修改冲突后提交(最好是不要直接在test修改提交)

如果发现不小心更改了test上的代码并commit了但是没有push:

git reset --soft 版本号  soft还保留记录hard不保留
git reset --hard 1134cb6回退到版本1134cb6(git reflog 可查询HEAD)

3.还需要在jenkies上进行发版

  • 找到自己的项目名;
  • 选择git上的test分支和服务器上的test环境;
  • 点击开始构建;
  • 点击构建后的编号,点击查看日志,如果最后一行显示success则表示构建成功
  • 构建成功后即可在test环境上进行测试;

4.生产上解决冲突步骤:

创建一个master备份 
我的分支和备份的master合
合好以后再将备份的master合并到我自己的本地分支
再提交合并请求

注意查找项目:地址:

https://ci.test.ybm100.com/job/INVT/job/INVT-FE-Ykq/

点击构建后的编号:

点击控制台查看构建日志:

最后一行显示success则表示成功:

1.开发代码前怎么拉取分支:

git init 本地仓库初始化
git clone 仓库地址
git remote add "仓库地址" 添加远程版本库
git branch -a查看本地和远程分支,-r查看所有远程分支
git checkout -b dev-lmf 创建本地分支
git add . 暂存分支到本地:
git commit -m "ss" 提交分支到本地
git push origin -u dev-lmf


2.怎么合并分支并提交到远程

步骤:提交到远程:先将本地分支内容同步到远程分支,再切换到master分支,将新创建分支合并到master后,在
先切换分支
git push origin -u dev-lmf 本地分支同步到远程
git checkout master 切换到要合并到的分支
git pull 拉取最新代码
git merge dev-lmf --no-commit --no-ff 合并分支,注意尽量不要直接使用git merge
git add .
git commit -m ''提交
git push 提交到远程


git merge和git rebase区别:
git merge 本地分支,例如a和b分支内容合并到master上,直接把a和b的节点添加到master中,要减少冲突时用
git rebase 本地分支,例如a和b分支内容合并到master上,会将ab整合在一起并创建新的节点,要整洁美观用
一般使用merge比较多


3.怎么解决合并和的冲突


冲突的产生,相同分支不同人提交不同的代码

解决冲突:
提交远程都没有git pull拉取最新代码时:
和另一位开发的同事沟通,需要留下哪段代码?然后重新更改代码后,重新提交本地并推送远程,一般git merge时会提示有冲突需要解决
一般开始开发或者提交前都要先拉取最新代码


4.线上问题解决流程

要基于生产分支创建本地分支,解决bug后再提交:
基于远程某个分支创建新的分支 git checkout -b hotfix-lmf-1219 origin/master
然后解决bug后,再同步到远程(保证解决的问题代码在远程可查): git push origin -u hotfix-lmf-1219
再切换到master(要解决冲突的分支)进行合并 git checkout master
合并: git merge hotfix-lmf-1219 --no-commit --no-ff

5.线上出现大的事故,整个系统崩了,需要进行回滚

先回退到上一个版本
git log 查看当前分支的提交记录
git reset --hard 上一个版本的hash值 ;然后回退到之前提交的版本。即可回退到上一个版本
git push -f origin master 强制提交到远程。因为远程还有回退之前的代码随意需要进行强制提交-f : git push -f origin master
注意这种方式风险很大,会将之前的所以代码全部强制删除

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值