IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 版本管理工具git 使用【本地操作篇】 -> 正文阅读

[开发工具]版本管理工具git 使用【本地操作篇】

Git 常用的是以下 6 个命令:git clonegit pushgit addgit commitgit checkoutgit pull,命令从0开始,我们一一介绍。

【一.单分支情况】

1.首先需要创建一个工作区git init

2.在工作区中修改或者编写新的文件

?1)git add demo.txt到本地缓存之前和之后的状态【文章莫问git status中字符的含义

2)此时我们修改demo.txt(已经提交到本地缓存了)?

?可以通过git diff 查看更改的地方

?根据提示:

可以把跟新的提交到缓存,

?可以把更新的丢弃,【把gggg行删掉,然后git restore丢弃更新操作,因此还是有ggg行】

可以取消缓存

?3.我们缓存中的数据提交到本地仓库

?1)提交到本地仓库之后,如果我们对文件进行了更改,但是我们又后悔做了更改,通过git checkout 把文件从本地仓库拉去下来覆盖掉更改的文件

?2)我们不小心删除了工作区文件和上面类似 也通过git checkout 从本地仓库中拉去下来

?3)如果我们就想更改然后提交到本地仓库

第一种方式:重新做一次新的提交

?第二种方式覆盖掉上一次提交的commit ID, 这样就不会有新的提交节点产生了【类似于原来提交的内容不完整,需要补充一些内容

git commit --amend【提交前是有两个commit节点,提交后也有两个commit节点】

?4.版本回退

1.0.1本的文件内容如图【记住这些commit ID

git reset [--soft | --mixed | --hard] [HEAD]

?1) 撤销1.0.1这次提交 但是本地demo.txt内容没有变【git reset HEAD^】?本地仓库版本指针指向了1.0.0的节点。所以git checkout 下来的是1.0.0的demo.txt

?2)在version1.0.1中增加了一个文件demo2.txt【git reset HEAD^ 某个文件】

指定回退文件,回退 demo.txt 文件的版本到上一个版本,demo和demo2的文件内容并没有变更,同样需要checkout一下demo。【这种方式并没有撤销提交,只是版本指针从1.0.1移动到1.0.0】

?如果又想把 demo 恢复到1.0.1版本,版本指针移动最新版本【同样不会更改本地文件内容】,需要在checkout一下demo

这就恢复回来了?

?3)【git reset --hard HEAD^】--hard?参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交。【撤销这次提交 并且 代码也会恢复到上个版本,并不推荐这种回退方式】

?4.删除命令?

1)git rm --cache 文件名【删除暂存区的文件,但工作区保留,推荐使用

2)git rm -f 文件名【删除 工作区,暂存区,本地仓库的某个文件】

【二.多分支情况】

1.我们需要基于某个版本另外创建一个分支branch。

1)git branch 查看本地分支情况

?2)git branch slave1【在master 分支下运行,就是基于master分支的版本】

不同分支有不同的commit 提交记录,?我们也可以使用 git checkout -b (branchname) 命令来创建新分支并立即切换到该分支下,从而在该分支中操作。

slave1分支的commit记录

?master分支的commit 记录

?并且工作区和缓冲区的内容是分支共享的,主要还是看在哪个分支进行提交,就属于那个分支

?在master提交之后,slave1分支就看不到这个shared_file文件了

?3)删除分支【基于slave1创建的slave1_1, 在本分支上删除自己是不可以的,要到其他分支上

? 4)合并分支

1)基于slave1分支创建出slave2分支。在slave2分支中增加了demo_file2文件,并且对原来的demo_file文件进行了修改。

slave1分支的文件及内容

slave2分支的文件及内容

?

合并slave1和slave2分支

2) 如果合并有冲突的话,就先解决冲突并在合并

?基于slave1分支创建分支slave2,在slave2中修改demo_file文件并提交,在slave1中修改demo_file文件并提交,然后在slave1分支上合并slave2【需要手动的解决冲突】

??我们可以用 git add 要告诉 Git 文件冲突已经解决

git status -s中对应字母的含义

A你本地新增的文件(服务器上没有).
C文件的一个新拷贝.
D你本地删除的文件(服务器上还在)
M文件的内容或者mode被修改了
R文件名被修改了
T文件的类型被修改了
U文件没有被合并(你需要完成合并才能进行提交)
X未知状态(很可能是遇到git的bug了,你可以向git提交bug report)

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:40:00  更:2022-04-09 18:41:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:39:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码