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

GIT提交、回滚等基本操作记录

1、add文件时warning: LF will be replaced by CRLF in .idea/workspace.xml.

在这里插入图片描述

原因:windows中的换行符为 CRLF, 而在Linux下的换行符为LF,所以在执行add . 时会出现以下提示

解决:git config core.autocrlf false

在这里插入图片描述
2、GIT命令:

查看当前远程地址

git remote -v

添加远程仓库地址:

git remote add origin 远程仓库地址

修改远程地址:

git remote set-url origin 远程仓库地址

删除远程仓库:

$ git remote remove origin

在命令行上创建一个新的存储库

git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:zianji/springcloud.git
git push -u origin main

从命令行推送现有存储库

git remote add origin git@github.com:zianji/springcloud.git
git branch -M main
git push -u origin main

GIT Remotes有多个仓库地址Start====

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
操作过程中不晓得啥操作多出来一个git,删除第二个多于的springcloud

End================

Git pull或push都会失败,找不到远程分支。Start====

在这里插入图片描述

根据上述最后一行提示,设置远程分支。

git branch --set-upstream-to=origin/main main(远程仓库名称)

仍然失败,黄色提示内容:远程已经存在的分支,需要运行“gitfetch”来检索它。在这里插入图片描述
git fetch在拉取代码过程中,git fetch会首先检查本地仓库和远程仓库的差异,检查哪些不存在于本地仓库,然后将这些变动的提交拉取到本地仓库,而不是本地工作目录,它不会自行将这些新数据合并到当前工作目录中,我们需要继续执行git merge才会把这些变动合并到当前工作目录。git pull直接获取远程的最新提交,直接拉取并合并到本地工作目录。

End===========================

3、回滚

git的版本回滚其实就是回滚不同的分区。git在本地有三大分区:工作区、暂存区、版本库。通过push之后推到远程仓库。

工作区:正在编写,还未add的部分。

暂存区:add后的代码。

版本库:commit后的代码

未add、commit的部分:工作区

准备环境,先新建testGitUse类。

在这里插入图片描述

进行add及commit操作:

commit之后:版本库
gituse提交因未push到远程仓库,所以显示的为本地master,同步到远端的提交分支会显示为origin/master.
在这里插入图片描述

在这里插入图片描述
3.1、commit之后未push之前回滚:

在这里插入图片描述

在这里插入图片描述

注意:undo commit只能从最后一次commit开始回滚,undo commit后会要求选择一个变更列表来存放回滚后的内容,可以自己新建一个,比如此处的gituse,也可以在下拉框里选择一个已经存在的,如果是自己新建的变更列表,勾选了set active选项,后续的变动也会存放到该变更列表中。

回滚后:

gituse提交操作没有了。

在这里插入图片描述
回滚后多了一个更新列表,再次操作如提交时选择此列表:
在这里插入图片描述

在这里插入图片描述

已push,进行回滚

即将本地的代码版本回滚到指定版本

git中当前操作记录:

在这里插入图片描述

在这里插入图片描述
回滚方式一:

选中想要回滚的版本:
在这里插入图片描述

方式二:录入版本
a5d301cb

在这里插入图片描述
回滚后继续操作将本地的版本用 git push -f 强推到远端。远端仓库即会回滚。

在这里插入图片描述
回滚后效果:
在这里插入图片描述
在这里插入图片描述
reset有几种模式:

soft,将版本回滚,工作区不动,暂存区=原来的+回滚后和回滚前的版本差异。
mixed,将版本回滚,回滚到了所有 git add 和 git commit 的命令执行之前。暂存区变为空,变更全部到了工作区。
hard,将版本回滚,将所有工作区和暂存区的文件修改全部清空,是真正的覆盖,不能找回了。
keep,将版本回滚,将所有commit的内容丢弃掉,未commit的内容保留。

合并代码最好不要使用rebase,它会改变基底,篡改提交记录,出问题不好追溯。建议使用merge,保存完成提交记录!!!

相关文章:

  • StackOverflowError的JVM处理方式
  • 10-2 HNCST - 多线程4 - 线程同步Condition——python
  • 2023年,我在美国的这一年!
  • CSS Grid 和 Flexbox
  • kivy开发一个登陆界面
  • 12.30_黑马数据结构与算法笔记Java
  • Java:IO流——字节流和字符流
  • Qlib从入门到精通
  • 2022年全国职业院校技能大赛高职组云计算正式赛卷第三场-公有云
  • pytorch01:概念、张量操作、线性回归与逻辑回归
  • 【论文阅读】Realtime multi-person 2d pose estimation using part affinity fields
  • x-cmd-pkg | 音视频处理领域中常用的开源转换工具:ffmpeg
  • Kubernetes 学习总结(43)—— Kubernetes 从提交 deployment 到 pod 运行的全过程
  • SpringBoot 集成 Kafka消息中间件,Docker安装Kafka环境
  • Eureka相关面试题及答案
  • 【391天】每日项目总结系列128(2018.03.03)
  • 10个确保微服务与容器安全的最佳实践
  • Docker入门(二) - Dockerfile
  • Druid 在有赞的实践
  • javascript面向对象之创建对象
  • Mithril.js 入门介绍
  • python 装饰器(一)
  • Theano - 导数
  • vuex 笔记整理
  • webpack入门学习手记(二)
  • 从伪并行的 Python 多线程说起
  • 大数据与云计算学习:数据分析(二)
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 离散点最小(凸)包围边界查找
  • 前端技术周刊 2019-01-14:客户端存储
  • 前端面试之CSS3新特性
  • 数据仓库的几种建模方法
  • 小程序 setData 学问多
  • 新手搭建网站的主要流程
  • 再次简单明了总结flex布局,一看就懂...
  • # 达梦数据库知识点
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #include<初见C语言之指针(5)>
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (02)Hive SQL编译成MapReduce任务的过程
  • (C#)一个最简单的链表类
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (规划)24届春招和25届暑假实习路线准备规划
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (生成器)yield与(迭代器)generator
  • (一)SpringBoot3---尚硅谷总结
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (译) 函数式 JS #1:简介
  • (转)平衡树
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET Core 通过 Ef Core 操作 Mysql
  • .net6+aspose.words导出word并转pdf
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [ C++ ] STL---string类的模拟实现
  • [C#]OpenCvSharp使用帧差法或者三帧差法检测移动物体