当前位置: 首页 > news >正文

git常用操作

删除分支

例:例如想删除的分支是dev_delete,那么可以按照如下的操作进行

#查看当前所在分支
git branch#如果在当前dev_delete分支上,就要切换到其他分支才能删除该分支
git checkout 其他分支#删除本地名为dev_delete的分支
git branch -d dev_delete #删除本地名为dev_delete的分支(不顾警告,强制删除)
git branch -D dev_delete #删除远程仓库中名为dev_delete的分支
git push origin --delete dev_delete 

代码更新

有时多人协同开发,都从开发分支dev-xx上切出了自己的分支,这时候A先完成了代码提交到了自己的分支,并且在review没问后就提交合并请求到了master。过了一会儿,B也完成了编码的工作,这时B提交的代码就不是最新的代码了,那么可以按照如下的方式解决。

例如我这里的主分支是master,各自的开发分支就用dev-xx-B这种形式表示

## 查看自己当前的分支
git branch## 切换到主分支
git checkout master## 拉取最新的代码(当然也可以使用git pull 暴力拉去合并,但是有一定的风险)
git fetch## 切换回自己的分支
git checkout dev-xx-B## 合并主分支代码(这里可能会有冲突,只需要自己看那部分代码是需要的就可以解决冲突了)
git merge master

操作完以上的步骤之后,自己的代码就包括了主分支最新代码和自己代码,这时推送和合并请求就是最新的代码

版本回退

git 提交需要经过三个阶段如下(平时编辑的内容就是在工作区,add之后就在暂存区,commit后就在版本库了),所以回退版本也有对应着相应的阶段

工作区 --> 暂存区 --> 版本库

回退的策略有三种

  1. –hard:将工作区,暂存区,本地仓库,都退回上一个版本,(擦除所有的修改,和上个版本完全一致)
  2. –mixed(默认):不使用任何参数时默认就是使用该参数,清空暂存区和本地仓库,保留工作目录(将本地仓库和暂存区回退到上一版本,编辑不变)
  3. –soft: 保留工作区和暂存区的内容,只让本地仓库中的内容回退到上一节点,所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是commit的内容回退到上一版本。(也就是编辑的和add的不变,commit的回退到上一版本)

有时在开发完成后,本地会进行commit,然后在将更改后的代码push到远程仓库。但是存在着一种情况就是push到远端的代码突然就不想要了,想把远端和本地的代码都回退到上一个版本,着时候就需要用到一下命令,

## 将本地仓库退回至上一个版本(1表示上一个版本,2就是上一个的上一个版本,以此类推)
git reset --hard HEAD~1

push分支

在执行完以上的回退策略后可以使用以下的命令推送到远端分支,这样就实现了远程分支的回退操作

## 强制将本地退回至上一个版本的操作推送到远程
git push --force

查看远程仓库地址

如果想查看git的仓库地址可以使用以下命令查看

git remote -v

修改远程仓库地址

如果想把一个仓库的代码拉下来然后推送到另一个仓库,那么可以使用以下命令更改远端仓库地址,然后在直接push,代码就会推送到新的仓库也不影响原有仓库

# 新远端仓库地址例如:http://gitlab.minshenglife.com/mslife-qymn/minsheng-registerserver.git
git remote set-url origin 新远端仓库地址

添加远程仓库地址

如果新建了远程仓库,本地有代码想推送到该仓库可以给本地代码添加仓库地址

git remote add origin 远端仓库地址(ssh/https)
http://www.lryc.cn/news/154151.html

相关文章:

  • QT的补充知识
  • 【力扣周赛】第 360 场周赛(贪心 ⭐树上倍增)
  • 企业如何防止数据外泄——【部署智能透明加密防泄密系统】
  • 【聚类】DBCAN聚类
  • 通过安装cpolar内网穿透在Kali上实现SSH远程连接的步骤指南
  • UDP和TCP协议报文格式详解
  • STM32+UART串口+DMA收发
  • 安全基础 --- js的闭包和this属性
  • 【C语言每日一题】08. 字符三角形
  • 如何打war包,并用war包更新服务器版本
  • uniApp webview 中调用底座蓝牙打印功能异常
  • Mac下安装Jmeter及其配置
  • js+html实现打字游戏v1
  • Java on VS Code 8月更新|反编译器用户体验优化、新 Maven 项目工作流、代码高亮稳定性提升
  • 划分Vlan时需要注意的问题
  • 【广州华锐互动】利用AR远程指导系统进行机械故障排查,实现远程虚拟信息互动
  • Spring工具类--CollectionUtils的使用
  • Node.js 应用的御用品: Node.js 错误处理系统
  • K210-CanMV IDE开发软件
  • 0301yarnmapredude入门-hadoop-大数据学习
  • 大数据课程K15——Spark的TF-IDF计算Term权重
  • 【C语言】字符函数,字符串函数,内存函数
  • Spring MVC:域对象共享数据
  • Vue框架--Vue中的计算属性
  • 面试题-React(八):React如何实现插槽?
  • 【前端demo】动态赋值CSS
  • BlockUI专栏目录
  • K8S获取连接token
  • CountDownLatch原理-(主线程等待子线程结束再执行)
  • mybatis源码学习-3-解析器模块