掌控历史:如何通过Git版本管理工具提升你的开发效率

先一览全局:

在这里插入图片描述

git目录

  • 一.打开git
  • 二.git bash的基础命令
  • 三.配置git
  • 四.仓库搭建
  • 五.文件操作和状态
  • 六.忽略文件
  • 七.gitee的使用
    • 1.添加公钥
    • 2.创建仓库
  • 八.vs中使用git
  • 九.git分支常用命令
  • 十.文件差异比较
  • 十一.文件回溯和推进
  • 十二.合并冲突和消除
  • 十三.合并/压缩提交
  • 十四.远程仓库推拉
  • 十五.小乌龟图形操作git
    • 1.仓库克隆远程项目
    • 2.先创建项目,后创建远程仓库

git_6">一.打开git

在这里插入图片描述

在这里插入图片描述

git_bash_11">二.git bash的基础命令

shift+insert 是复制的快捷键
当显示不全,出现冒号的时候可以按Enter显示,最后按q退出.

cd: 移动目标
在这里插入图片描述

pwd:显示当前目录
ls/ll:显示当前目录信息
在这里插入图片描述
clear清屏
touch:创建文件
在这里插入图片描述

在这里插入图片描述
mkdir:创建目录
rm:删除文件
rm -r:删除目录
在这里插入图片描述

mv:移动文件到目录下
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
history:历史命令
在这里插入图片描述

git_43">三.配置git

查看配置
在这里插入图片描述
系统配置
在这里插入图片描述
用户配置,这里是我原来配置过,原本是没有的.

在这里插入图片描述
这里是系统配置文件
在这里插入图片描述

打开和system的配置一样.
在这里插入图片描述

用户配置信息,这个就是相当于id.
在这里插入图片描述
这里就是自己配置的信息.
在这里插入图片描述

四.仓库搭建

在这里插入图片描述
.git是隐藏的文件
在这里插入图片描述
还有远程仓库的克隆.
在这里插入图片描述
在这里插入图片描述

五.文件操作和状态

创建一个git仓库和创建一个main.cpp文件
在这里插入图片描述
查看该文件状态,未被git窗口跟踪.

在这里插入图片描述
用add,文件已经被跟踪.

在这里插入图片描述
git commit -m""文件提交到窗口,并附加备注信息.
在这里插入图片描述
进入vim可对文件内容进行修改.用cat可以查看文件内容.
在这里插入图片描述
按键盘i或者insert键可以进入到编辑模式.

在这里插入图片描述

Esc键退出编辑模式,输入:wq,这是退出并保存
在这里插入图片描述
:q! 命令是强制退出不保存.
在这里插入图片描述
修改文件后,状态改变为modified.
在这里插入图片描述
可将修改后的文件用 git add .git commit -m""添加到本地仓库.
在这里插入图片描述
也可以一步到位,添加到本地仓库.
在这里插入图片描述

六.忽略文件

.gitignore是忽略文件.
在这里插入图片描述
忽略文件的规则
在这里插入图片描述

在这里插入图片描述
.vs缓冲文件和x64编译文件已经被忽略,不能进行add.
在这里插入图片描述

gitee_118">七.gitee的使用

1.添加公钥

可以根据提示注册
在这里插入图片描述
在这里插入图片描述
设置公钥
在这里插入图片描述
在c盘用户目录下,新建一个.ssh文件夹
在这里插入图片描述
在新建的文件夹下,打开git bash.
在这里插入图片描述
就会生成这两个文件.后面有pub的是公钥.
在这里插入图片描述
我们点开,将内容复制到giteessh
在这里插入图片描述
粘贴在这里确定即可.
在这里插入图片描述

2.创建仓库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

git_146">八.vs中使用git

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
将仓库里的HTTPS复制到上面的URL.
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
第一次的时候需要添加远程
在这里插入图片描述
还需要添加到暂存区,也可以添加到忽略文件.
第一次推送还需要验证gitee

在这里插入图片描述

在这里插入图片描述

git_165">九.git分支常用命令

先将文件添加到本地仓库
git branch 可以添加分支和查看分支
git checkout 可以切换分支

在这里插入图片描述
git checkout -b 可以同时创建和切换分支
git branch -d 可以删除分支
在这里插入图片描述
切换到另一个分支,然后进行文件修改bug,然后回到主分支,进行合并
git merge --no-ff 分支名,这是完整合并.
完整合并是会创建新的节点的,HEAD指向这个指针.
简单合并就是HEAD直接指向分支的节点.
git merge 分支名 就是快速合并.
在这里插入图片描述
git log 可以查看日志
在这里插入图片描述
git log --graph可以查看图形化日志,下面这个图形就表示先分支又合并.
在这里插入图片描述

十.文件差异比较

修改文件,用git diff 比较工作区与暂缓冲区的区别.
+号表示新增
在这里插入图片描述
将工作区修改的文件添加到暂缓区.
然后用git diff HEAD 来比较暂缓区与本地仓库的差异.
在这里插入图片描述
现在的日志就是这样了.
在这里插入图片描述

十一.文件回溯和推进

commit 后面的是哈希值,相当于这个版本的节点.可以方便回到这个版本.
在这里插入图片描述
git reset --hard 哈希值,我们这里就回溯到了最原始的版本.
这个是硬回溯直接将工作区文件也变会原来的版本.
在这里插入图片描述

十二.合并冲突和消除

编写一个有bug的文件添加到本地仓库

在这里插入图片描述
创建一个dev分支并修改文件添加到本地仓库.
然后回到主分支.

在这里插入图片描述
git merage --no-ff 完整合并.
并于git log --graph显示当前日志.
在这里插入图片描述
git reset --hard 哈希值.回到最开始的版本,创建另外一条分支,修改文件并提交至本地仓库.
在这里插入图片描述
切换到主分支,并通过git reflog 查看日志操作,推进到合并dev版本的节点.
在这里插入图片描述
此时合并另外一条分支,出现冲突,需要手动编辑文件消除冲突.
一般冲突的出现是因为合并的分支出现同一文件的部分代码不一样.
然后再将其添加到本地仓库.

git commit --amend 是修改上一条备注信息的内容.
在这里插入图片描述
最终的图形化节点结构.
在这里插入图片描述
简化图就是这样:
在这里插入图片描述

十三.合并/压缩提交

创建一个分支,编写了一个简单的bug,我们修改时不想再次提交,因为bug太简单了
在这里插入图片描述
可以用git rebase -i HEAD~2来进行合并最近两次的提交.
在这里插入图片描述
pick 修改为fixup就是要留下的提交
在这里插入图片描述

十四.远程仓库推拉

git remote add origin SSH ,来连接远程仓库,origin是备注名.
git push -u origin master.推送到远程仓库origin的master分支.
在这里插入图片描述
再推送一个分支.
在这里插入图片描述

然后另一个同事克隆仓库,选择分支进行编写,再推送到仓库.
注意分支来源.
在这里插入图片描述
在这里插入图片描述
此时再用 git pull origin fea 拉取刚刚其他人提交的.
在这里插入图片描述

git_259">十五.小乌龟图形操作git

1.仓库克隆远程项目

用小乌龟克隆远程仓库.
在这里插入图片描述

在这里插入图片描述
点击ok,克隆完成
在这里插入图片描述
可以在.git文件同目录下创建项目.

在这里插入图片描述
注意不是右击某个文件出现的,而是在空白处右击出现.
在这里插入图片描述
在这里插入图片描述
这里只是提交到了本地仓库.

在这里插入图片描述
接下来推送到远程仓库
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.先创建项目,后创建远程仓库

在这里插入图片描述
点击OK

在这里插入图片描述
提交到本地仓库.
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
提交到远程仓库.如果push操作出错一般都是因为账号有多个冲突.
在这里插入图片描述
新建一空的远程仓库,然后复制HTTPS.

在这里插入图片描述
在这里插入图片描述


http://www.niftyadmin.cn/n/5670398.html

相关文章

如何在webots中搭建一个履带机器人

前期准备 下载webotswebots基本知识 a. 官方文档:Webots documentation: Track b. B站教程:webots-超详细入门教程(2020)_哔哩哔哩_bilibili搭建流程 搭建履带机器人主要使用到了webots中的track节点,这个节点是专门用来定义履带的相关属性,模拟履带运动的 首先,创建一个…

海尔嵌入式硬件校招面试题及参考答案

使用 QT 的经验及对控件和信号与槽机制的了解 我使用 QT 有一段时间了,在项目开发中积累了较为丰富的经验。 QT 中的控件丰富多样,涵盖了各种常见的界面元素需求。例如按钮、文本框、列表框、进度条等。这些控件具有良好的可定制性,可以通过属性设置、样式表等方式来调整外观…

mxnet 的显存分配机制

mxnet 的显存分配机制 MXNet 的显存分配机制在性能优化和资源管理方面起着至关重要的作用。它通过高效的内存管理和调度机制来分配和释放显存,确保在训练深度学习模型时最大限度地利用 GPU 的资源。MXNet 的显存分配机制类似于其他深度学习框架(如 PyTo…

Linux驱动开发 ——架构体系

只读存储器(ROM) 1.作用 这是一种非易失性存储器,用于永久存储数据和程序。与随机存取存储器(RAM)不同,ROM中的数据在断电后不会丢失,通常用于存储固件和系统启动程序。它的内容在制造时或通过…

C++/Qt 集成 AutoHotkey

C/Qt 集成 AutoHotkey 前言AutoHotkey 介绍 方案一:子进程启动编写AutoHotkey脚本准备 AutoHotkey 运行环境编写 C/Qt 代码 方案二:显式动态链接方案探索编译动态链接库集成到C工程关于AutoHotkeyDll.dll中的函数原型 总结 前言 上一篇介绍了AutoHotkey…

深度学习02-pytorch-01-张量的创建

深度学习 pytorch 框架 是目前最热门的。 深度学习 pytorch 框架相当于 机器学习阶段的 numpy sklearn 它将数据封装成张量(Tensor)来进行处理,其实就是数组。也就是numpy 里面的 ndarray . pip install torch1.10.0 -i https://pypi.tuna.tsinghua.edu.cn/simp…

[SDX35+WCN6856]SDX35 开启class/gpio子系统配置操作说明

SDX35 SDX35介绍 SDX35设备是一种多模调制解调器芯片,支持 4G/5G sub-6 技术。它是一个4nm芯片专为实现卓越的性能和能效而设计。它包括一个 1.9 GHz Cortex-A7 应用处理器。 SDX35主要特性 ■ 3GPP Rel. 17 with 5G Reduced Capability (RedCap) support. Backward compati…

AI驱动TDSQL-C Serverless 数据库技术实战营-ai学生选课系统数据分析

以前用过腾讯的TDSQL-MYSQL,TBASE,最近了解到TDSQL-C serverless,本次试验结合的AI大模型驱动来学习实战TDSQL-C serverless,体验服务化的数据库,和一句简单描述进行学生选课系统数据分析; 我使用的分析数据…