Git常用命令总结

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一、Git常用操作

1. 从仓库中clone项目到本地

在这里插入图片描述
1使用命令

git clone git@git.xxx/wd-order.git

2使用idea

File -> New → Project from Version Control

2. 创建分支

1使用命令

git checkout -b feature01

2使用idea
在这里插入图片描述
在这里插入图片描述

3. 提交代码

1使用命令

git commit -am “init” 提交并且加注释
2使用idea
在这里插入图片描述

4. 推送代码到远程仓库

1使用命令

git push origin feature01

2使用idea
在这里插入图片描述

5. 从远程仓库更新代码

1使用命令

git pull origin feature01

2使用idea
在这里插入图片描述

6. 分支切换

1使用命令

git checkout feature01 注意上面有个很像的 git checkout -b 是切换并创建分支

2使用idea
在这里插入图片描述

7. 分支合并

把fenature01分支合并到master 更详细的可参考 https://blog.csdn.net/icanflyingg/article/details/122337212

1使用命令

  • 切换到master分支 git checkout master
  • 分支合并到master git merge feature01
  • git push origin master

2使用idea
在这里插入图片描述

二、开发测试上线分支管理发布流程

1. 设置提交人姓名邮箱

git config  user.name  "xuyang"
git config  user.email  "xuyang.li@quantgroup.cn"

2. 分支管理流程图

在这里插入图片描述

  • 从master分支拉feature开发分支开发
  • 开发完成后合并到test分支进行测试
  • 测试出的bug在feature分支修复修复后合并到test分支测试
  • 上线前从master分支拉取最新代码合并到feature分支
  • 从feature分支打tag生产使用tag发布
  • 上线成功后把feature分支合并到master分支

1feature分支命名规则

feature-需求英文缩写-年月日日期

egfeature-SplitAccount-20220216

三、常见问题

1. 解决冲突

1使用命令

git push origin feature01 推送时如果本地分支与远程分支有冲突会报错不能推送

需要先执行git pull origin feature01拉取远程分支的代码到本地分支。冲突的文件会有如下提示
在这里插入图片描述

<<<<<<< HEAD包裹起来的是本地分支的修改
>>>>>>>包裹起来的是远程分支的修改

把冲突解决后再次提交推送即可

2使用idea
推送时有冲突会提示
在这里插入图片描述
点击Merge解决冲突 左侧是本地分支 右侧是远程分支 解决冲突后再次提交推送即可

在这里插入图片描述

2.远程分支在idea的分支列表中看不到

1使用命令

git fetch

2使用idea
在这里插入图片描述

3.回滚分支到某次提交

1使用命令

git reset --hard commitId   重置分支到某次提交
git push origin HEAD --force 推送到远程仓库

在gitlab中查看commitId
在这里插入图片描述
2使用idea

选中提交节点
在这里插入图片描述
右键→ Reset Current Branch To Here
在这里插入图片描述
推送代码到远程仓库 选择Force Push

在这里插入图片描述

4. 报错fatal: refusing to merge unrelated histories

首先我们分析下我们开发项目前的一些准备工作
1、 本地初始化项目。如创建 Store3.0为项目增添一些基础代码枚举类、工具类、实体、POM依赖…
2、 Git上创建相同名称的仓库Store3.0里面增加一些恶基础文件.gitignore、README.md 等
3、 Git关联本地项目。

  • 本地代码初始化
git init 
git add .
git commit -m "init" .
git push git@github.com:LiXuYangISZ/XXX.git main

此时很大概率会报错
在这里插入图片描述
提示很明显是我们push项目之前必须先更新项目git pull

  • pull后就报了 fatal:refusing to merge unrelated histories
    在这里插入图片描述
    原因在于Github认为我们提交的这些代码和远程仓库没有关联~
  • 解决办法在git pull和git push命令中添加--allow-unrelated-histories
    让git允许提交不关联的历史代码
    在这里插入图片描述
  • 再次push成功~
    在这里插入图片描述

从而 本地项目也就和Git远程仓库关联了接下来我们就可以开心的撸码啦~

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6