Git常用命令总结

一、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分支

(1)feature分支命名规则

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

eg:feature-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远程仓库关联了,接下来我们就可以开心的撸码啦~

  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 21
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱编程的大李子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值