Git中常见的一些问题总结
Git中常见的一些问题总结
1、git添加到暂存区的修改,如果不想要了,怎么撤销
模拟使用一下这种场景:
新增了两个文件:f.txt和g.txt

然后提交到暂存区:

可以选择文件批量添加到暂存区中来。如上所述

此时颜色发生改变,表示存储到了暂存区。
但是如果此时此刻想把文件从暂存区中移出来,那么如何操作?

选择还原之后,可以看到依然是普通的文件,但是文件依然存在于工作目录下。

对应的git命令参考:https://blog.csdn.net/danniyedan/article/details/122695361
2、git添加到本地仓库,如果不想要了,怎么撤销






此时此刻已经回退到了未添加到暂存区之前的状态。
3、提交代码时发现别人已经提交了(没有代码冲突),此时需要重新拉取文件
同时在目录下创建c.txt和c.txt文件,各自修改各自的。
先提交c.txt,再提交b.txt;在提交b.txt的时候,出现了异常信息

那么需要首先进行拉取

拉取后会显示已经添加了c.txt文件
但是这个时候,自己提交的b.txt文件还需要推送到远程。


点击推送即可。
然后另外一个开发者想要拉取得到最新添加的b.txt文件,也需要重复上面的操作流程。
这也是开发人员最常用的方式:每天早上过来的时候,首先拉取一下最新的代码,然后在此基础上进行修改代码。
4、提交代码时发现别人已经提交且存在代码冲突,此时需要重新拉取文件、解决冲突,重新提交
接着上面所说,如果多个开发者同时修改的是同一个文件的情况,这个时候将会造成代码冲突。
假如两个人同时修改了b.txt文件,A先提交,那么对于A来说,是没有问题的;而在B提交的时候因为没有拉取最新提交的代码,就会遇到问题

那么这个时候,首先应该去拉取获取得到最新的文件信息。

依然会出现下面的问题。但是可以发现b.txt文件已经出现了感叹号了!
说明了存在着代码冲突,所以需要来解决冲突。我们不必做其他的事情,只需要在点击关闭的时候,会弹出一个窗口,如下:

然后会进入到一个窗口(会有提示窗口,点击确定即可)


那么展示出来的窗口如下所示:

只需要重点关注下上面标红的框框,以及显示的文字上面即可。
这里比较简单了!只需要做些操作即可。

修改完成之后,需要将当前冲突修改为“标记为已解决”,然后保存即可。

然后发现状态为已经修改,只需要再次提交即可。
提交的过程中,可以看到代码自动的给我们添加了注释,说明是修改了哪些代码冲突

然后确定完成之后,推送到远程仓库中去。
5、版本回退
如果某个版本不符合我们的预期,我们可以采取回退的方式。
在小乌龟中是最好操作的。
现有的版本:

加入说我们想要回退到第一次修改b.txt文件的地方,那么应该如何来进行操作?

然后选择


因为我想回退到只有第一次在b.txt中新增文字的地方,所以我选择Hard模式。

最终达到了目的
Soft、Mixed和Hard模式的区别
参考文章:https://blog.csdn.net/weixin_42740530/article/details/115914113
先要清楚在本地,git会分三个区:工作区、暂存区、本地库。
当使用去做版本移动的时候,那么在使用【--hard】、【--mixed】、【--soft】是不一样的。
1. --soft参数
git reset --soft abcdef
- 仅仅移动本地库
HEAD指针
仅仅是把本地库的指针移动了,而暂存区和你本地的代码是没有做任何改变的。但是这个时候你上次提交到本地库的代码状态是绿色的,即你未做【commit】操作。

2. --mixed参数
git reset --mixed abcdef
- 移动本地库
HEAD指针 - 重置暂存区
不仅移动了本地库的指针,同时还把暂存区的代码也做了移动。也就是说你上次添加到暂存区的代码,现在变成了红色,即未做【add】操作。如果不写--mixed,默认也是此参数。

3. --hard参数
git reset --hard abcdef
- 移动本地库
HEAD指针 - 重置暂存区
- 重置工作区
不用解释了,除了上面描述的,同时你本地的代码就是你回退的版本代码。

不过很多时候,我们在回退更多的是要保留本地代码的,即使用--mixed参数。除非你是重新拉取一份,那可以使用--hard参数

Git中常见的一些问题总结的更多相关文章
- git中常见的几个命令
git中常见的几个命令 本地仓库 三个区域 工作目录 暂存区 本地仓库 文件的四个状态 未跟踪 untracked 已暂存 staged 已提交commited 已修改 modified 基本命令 g ...
- git中常见操作指令
从git上拉下一个项目: 1.git clone 项目链接 2. git checkout development (切换到development分支) ...
- 实用:Git 中的一些常见错误
无论是数据科学家.算法工程师还是普通开发人员,在每个团队协作开发任务中,Git 都是必不可少的版本控制工具,因此掌握它的基本操作十分有必要.但即便是教程满天飞的今天,开发人员在使用 Git 时也还是会 ...
- Git 系列(四):在 Git 中进行版本回退
在这篇文章中,你将学到如何查看项目中的历史版本,如何进行版本回退,以及如何创建 Git 分支以便你可以大胆尝试而不会出现问题. 在你的 Git 项目的历史中,你的位置就像是摇滚专辑中的一个片段,由一个 ...
- 如何在Git中撤销一切 | 干货
翻译:李伟 审校:张帆 译自:Github JF杰微刊:如何在Git中撤销一切 任何一个版本控制系统中,最有用的特性之一莫过于 "撤销(undo)"操作.在Git中,"撤 ...
- Unity项目开发过程中常见的问题,你遇到过吗?
最近看到有朋友问一个unity游戏开发团队,需要掌握哪些知识之类的问题.事实上Unity引擎是一个很灵活的引擎,根据团队开发游戏类型的不同,对人员的要求也有差异,所以不能一概而论.但是,一些在Unit ...
- Git的常见基础操作命令
Git的常见基础操作命令 1安装初始化 1.1安装git本地安装Windows版本 下载地址: https://git-scm.com/downloads/ 1.2初始化Git用户信息配置 配置git ...
- Git 基础 —— 常见使用场景
Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 突然插入 Bugifx 工作, ...
- 【转】如何在Git中撤销一切
翻译:李伟 审校:张帆译自:Github 任何一个版本控制系统中,最有用的特性之一莫过于 “撤销(undo)”操作.在Git中,“撤销”有很多种含义. 当你完成了一次新的提交(commit),Git会 ...
- Git 中的回退操作:reset 和 revert
Git 中回退有 reset 和 revert,这两个的区别就是是否保留更改记录 假设当前的提交情况是:A <- B <- C <- D <- HEAD,如下图: 当前是 D, ...
随机推荐
- Cisco——ASA和winserver2016配置l2tp over ipsec连接
Cisco--ASA和winserver2016配置l2tp over ipsec连接 L2tp over ipsec vpn配置 网络拓扑图: 配置vpn时要确保Winserver15能够ping通 ...
- RabbitMQ-00-Windows10安装RabbitMQ及安装使用过程中遇到的一些问题
Window系统安装教程 安装参考博客:https://blog.csdn.net/spl545056/article/details/81392015 重装RabbitMQ时遇到的问题 安装提示成功 ...
- ggplot2绘制饼图
# 加载 ggplot2 包 library(ggplot2) # 加载数据 data <- data.frame(category = c("A", "B&quo ...
- pychars的使用
1|0安装 pyecharts 兼容 Python2 和 Python3.目前版本为 0.1.2 pip install pyecharts 2|0入门 首先开始来绘制你的第一个图表 from pye ...
- 浏览器渲染与event loop
线程 1.GUI渲染线程(一个) 2.JS引擎线程(一个) 3.事件触发线程 4.定时器触发线程(多个) 5.异步http请求线程(多个) 线程执行 页面加载时 GUI渲染引擎和JS执行引擎互斥,当G ...
- 禁止Edge升级
管理员命令行运行: 用法:EdgeChromium_Blocker.cmd [<machine name>] [/B][/U][/H] 1.本机禁用更新: EdgeChromium_Blo ...
- CompletableFuture事务问题
前段时间写了关于CompletableFuture的使用博客,CompletableFuture使用方法详细说明 和 CompletableFuture的thenCompose使用具体说明. 但在实际 ...
- pve apt 更新
解决pve6.2/pve6.3 安装ifupdown2,失败问题 https://www.cnblogs.com/lovesKey/p/14400874.html https://blog.whsir ...
- C#常见的数据结构
数据结构:1.Set集合,纯粹的容器,无需存储,就是一个容器2.线型结构:在存储的时候,一对一存储3.树形结构:表达式目录树(二叉树).菜单结构:一对多4.图形结构:扩扑图.网状结构(地图开发,用C# ...
- flutter Stack 绝对布局的使用
使用stack 和Positioned 实现绝对布局 进行位置偏移 Container( alignment: Alignment.center, width: double.infinity, ch ...