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

先一览全局:

在这里插入图片描述

git目录

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

一.打开git

在这里插入图片描述

在这里插入图片描述

二.git bash的基础命令

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

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

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

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

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

在这里插入图片描述

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

三.配置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的使用

1.添加公钥

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

2.创建仓库

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

八.vs中使用git

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

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

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

在这里插入图片描述

在这里插入图片描述

九.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

1.仓库克隆远程项目

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

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

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

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

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

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1542157.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

新160个crackme - 062-syllogism-crackme1

运行分析 需要破解Name和Serial PE分析 C程序,32位,无壳 静态分析&动态调试 ida找到成功弹窗字符串,双击进入函数 分析关键函数,还需要分析sub_401368函数 分析sub_401368函数,发现是将Name第一位替换为空格&#…

带你0到1之QT编程:十六、三种框架自带Dialog,助你在开发一臂之力

此为QT编程的第十六谈!关注我,带你快速学习QT编程的学习路线! 每一篇的技术点都是很很重要!很重要!很重要!但不冗余! 我们通常采取总-分-总和生活化的讲解方式来阐述一个知识点! …

信息安全工程师(12)网络攻击概述

前言 网络攻击(Cyber Attacks,也称赛博攻击)是指针对计算机信息系统、基础设施、计算机网络或个人计算机设备的任何类型的进攻动作。这些攻击旨在破坏、揭露、修改、使软件或服务失去功能,或在未经授权的情况下偷取或访问计算机数…

消息中间件---Kafka

一、什么是Kafka? Kafka是一个分布式流处理平台,类似于消息队列或企业消息传递系统; 流处理事什么呢? 流处理就是数据处理工作流,本质上是一种计算机编程范例。流处理是对接收到的新数据事件的连续处理。‌它涉及对从生产者到消…

spring boot(学习笔记第二十课) vue + spring boot前后端分离项目练习

spring boot(学习笔记第二十课) vue spring boot前后端分离项目练习 学习内容: 后端程序构建前端程序构建 1. 后端程序构建 前后端分离结构 前后端就是前端程序和后端程序独立搭建,通过Restful API进行交互,进行松耦合的设计。后端程序构建…

WebGL入门(一)绘制一个点

源码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><scr…

【开源免费】基于SpringBoot+Vue.JS教师工作量管理系统(JAVA毕业设计)

本文项目编号 T 043 &#xff0c;文末自助获取源码 \color{red}{T043&#xff0c;文末自助获取源码} T043&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

【C++】内联函数(inline function)详解

&#x1f984;个人主页:小米里的大麦-CSDN博客 &#x1f38f;所属专栏:C_小米里的大麦的博客-CSDN博客 &#x1f381;代码托管:C: 探索C编程精髓&#xff0c;打造高效代码仓库 (gitee.com) ⚙️操作环境:Visual Studio 2022 目录 一、前言 语法: 在函数定义前加上关键字 inli…

学不会最短路问题?看这篇就够了

数据结构入门学习&#xff08;全是干货&#xff09;——图论问题之最短路径 1 最短路径问题概述 最短路径问题的定义 在一个网络&#xff08;图&#xff09;中&#xff0c;求解两个顶点之间所有路径中边的权值之和最小的路径。这条路径称为最短路径。 源点(Source)&#xff…

ClickHouse-Kafka Engine 正确的使用方式

Kafka 是大数据领域非常流行的一款分布式消息中间件&#xff0c;是实时计算中必不可少的一环&#xff0c;同时一款 OLAP 系统能否对接 Kafka 也算是考量是否具备流批一体的衡量指标之一。ClickHouse 的 Kafka 表引擎能够直接与 Kafka 系统对接&#xff0c;进而订阅 Kafka 中的 …

openEuler系统安装内网穿透工具实现其他设备公网环境远程ssh连接

目录 前言 1. 本地SSH连接测试 2. openEuler安装Cpolar 3. 配置 SSH公网地址 4. 公网远程SSH连接 5. 固定连接SSH公网地址 6. SSH固定地址连接测试 作者简介&#xff1a; 懒大王敲代码&#xff0c;计算机专业应届生 今天给大家聊聊openEuler系统安装内网穿透工具实现其他…

深度学习之微积分预备知识点(2)

极限&#xff08;Limit&#xff09; 定义&#xff1a;表示某一点处函数趋近于某一特定值的过程&#xff0c;一般记为 极限是一种变化状态的描述&#xff0c;核心思想是无限靠近而永远不能到达 公式&#xff1a; 表示 x 趋向 a 时 f(x) 的极限。 知识点口诀解释极限的存在左…

语言RPA流程组件介绍--获取网页信息

&#x1f6a9;【组件功能】&#xff1a;获取浏览器中显示网页的网页标题、源代码、网址、编码等信息 配置预览 配置说明 获取 网页源代码/标题/网址/编码 iframe 支持T或# 若获取的信息是框架iframe中的信息&#xff0c;需要手动填写框架名称&#xff0c;框架使用方法:框架…

文档图像恢复

文档图像恢复是指通过技术手段对损坏或质量不佳的文档图像进行修复&#xff0c;以提高其可读性和可用性。这种修复可以包括去除图像的噪声、畸变、阴影、模糊等多种问题&#xff0c;使文档图像更清晰、易于阅读。 文档图像恢复通常使用各种图像处理技术&#xff0c;包括但不限…

一个基于Vue3 + Arco Design + Vite3 + Pinia开箱即用的高质量中后台管理系统(附源码)

前言 随着业务的发展与复杂性的增加&#xff0c;现有的中后台管理系统面临着越来越多的挑战&#xff0c;如开发效率低下、系统性能瓶颈、项目扩展性差等问题。这些问题不仅影响了开发者的日常工作&#xff0c;还可能成为项目长期发展的障碍。那么&#xff0c;是否有一款软件能…

LabVIEW提高开发效率技巧----利用第三方库和工具

LabVIEW开发不仅依赖于自身强大的图形化编程能力&#xff0c;还得益于其庞大的用户社区和丰富的第三方库。这些工具和库能够帮助开发者快速解决问题&#xff0c;提升开发效率&#xff0c;避免从头开始编写代码。 1. LabVIEW工具网络&#xff08;NI Tools Network&#xff09; …

一些硬件知识(二十二)

搅拌机的转子是裸露在外面的&#xff0c;因此有一个安全开关&#xff0c;当上杯放上去后会按压安全开关&#xff0c;这样可以启动转子&#xff0c;否则是无法启动转子的&#xff0c;所以有些设备不通电或者转子不动是因为安全开关损坏&#xff1a; 、如下图&#xff0c;装上杯子…

详细分析Spring的动态代理机制

文章目录 1. JDK动态代理和CGLIB动态代理的区别1.1 适用范围1.2 生成的代理类1.3 调用方式 2. 问题引入3. 创建工程验证 Spring 默认采用的动态代理机制3.1 引入 Maven 依赖3.2 UserController.java3.3 UserService.java3.4 UserServiceImpl.java&#xff08;save方法添加了Tra…

JAVA开源项目 房屋租赁系统 计算机毕业设计

本文项目编号 T 041 &#xff0c;文末自助获取源码 \color{red}{T041&#xff0c;文末自助获取源码} T041&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析5.4 用例设计 六、核…

Linux中使用cp命令的 -f 选项,但还是提醒覆盖的问题

问题&#xff1a; linux 在执行cp的命令的时候&#xff0c;就算是执行 cp -f 也还是会提醒是否要进行替换。 问题原因&#xff1a; 查看别名&#xff0c;alias命令&#xff0c;看到cp的别名为cp -i&#xff0c;那就是说cp本身就是自带覆盖提醒&#xff0c;就算我们加上-f 的…