一文教会女朋友学会日常Git使用!Git知识总结

news2024/10/7 10:13:08

文章目录

    • 一文教会女朋友学会日常Git使用!Git知识总结
      • 一、git基本知识了解
        • 1.git简介
        • 2.git区域了解
        • 3.git常用命令
      • 二、常用工作场景
        • 1.克隆远程仓库,把仓库代码拉到本地
        • 2.推送代码到远程仓库
          • (1)本地代码和远程仓库版本相同,在你之前没有其他人推上代码
          • (2)在你之前有其他人推上代码,但是和你修改的不是同一个文件
          • (3)在你之前有其他人推上代码,和你修改的有同一个文件
          • (3)在a分支修改了,但是我要修改的内容应该在b分支上
      • 三、Git图形工具推荐
        • 1.vscode上自带的
        • 2.Soucetree

一文教会女朋友学会日常Git使用!Git知识总结

女朋友最近在学习git这块知识,我给他推荐了视频和廖雪峰的git文档,但是奈何新手刚开始学习,还是依然吃力,而日常工作中git这一部分使用其实并不难,所以也为了减轻女朋友的压力,这篇文章来了。

本文章涉及原理较少,主要是日常工作中直接使用,适合新手快速入门,如何想详细全面了解,还是推荐廖雪峰git讲解

一、git基本知识了解

1.git简介

Git是一个分布式版本控制系统,简单来说就是代码版本控制系统,在日常工作中,开发人员就需要利用git将各个人的写的代码放到一起。再简单来说,就是用来提交代码的。

2.git区域了解

区域这块主要便于后续操作理解,主要分成下面四个区域

  • 工作区:处理工作的区域(即做项目打代码的区域,你写代码的地方)
  • 暂存区:已完成的工作临时存放区域,等待被提交(使用git add .操作后代码进入区域)
  • 本地仓库:存放数据的地方,但是还在本电脑上(使用git commit -m "xxx"操作后代码进入区域)
  • Git远程仓库:最终的存放区域,即远程服务器(git push成功后代码推送的地方,就是代码仓库,比如Gitee、GitHub上建的仓库)

下面这张图比较直观,可以做参考

image-20240328141101581

3.git常用命令

连接远程仓库

git remote add xxx(例如:git remote add origin 复制的ssh地址或者https地址)

克隆远程仓库

git clone xxx(例如:git clone 复制的ssh地址或者https地址)

创建分支并切换到该分支

git checkout -b 分支名称

相当于 git branch dev 
	  git checkout dev

切换分支

git checkout develop

添加到暂存区

git add .

添加到本地仓库

git commit "...."

拉取远程仓库内容

git pull (例如:git pull origin dev 最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突 再推送)

推送到远程仓库

git push (例如:git push origin dev 上传到dev分支仓库)

备份当前的工作区修改的内容

git stash  备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。

读取最近一次备份的内容

git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复

二、常用工作场景

1.克隆远程仓库,把仓库代码拉到本地

这里以码云为例复制shh或者https

image-20240401134113463

执行下面克隆命令即可

git clone git@gitee.com:typhome/pinball-games.git

克隆到本地,就可以进行本地代码修改了

2.推送代码到远程仓库

推送代码到远端分为几种情况

(1)本地代码和远程仓库版本相同,在你之前没有其他人推上代码

这时执行三步骤即可

git add .

git commit "...."

git push
(2)在你之前有其他人推上代码,但是和你修改的不是同一个文件

这个时候需要先把别人的代码拉下来了,先进行git pull

git pull

git add .

git commit "...."

git push
(3)在你之前有其他人推上代码,和你修改的有同一个文件

这个时候直接git pull会报错,具体详细可以看我另一篇博客:解决git pull时出现冲突无法pull的问题

主要方法就是将代码提到git栈中进行储藏,然后拉下代码后再应用,

主要步骤

git stash

git pull

git add .

git stash pop 
(解决冲突)
git add .

git commit "...."

git push

(3)在a分支修改了,但是我要修改的内容应该在b分支上

这个时候在a分支修改了,没有提交,直接切换到b分支上会报错切换不了,这个时候也需要用到stash了

//先进行备份
git stash
//切分支
git checkout b
//拉下最新代码
git pull
//再应用推送即可
git add .

git stash pop
(解决冲突)
git add .

git commit "...."

git push

以上几种情况基本满足日常工作需求,主要就是代码拉取和推送

三、Git图形工具推荐

平常敲命令可能过于麻烦,或者不那么直观,这里推荐两个我常用的,提高开发效率,但是建议在git命令熟悉后或者使用一段时间后,再使用图形界面操作git

1.vscode上自带的

image-20240401142403154

可以看修改代码对比、切换分支、提交、stash等等,也是非常直观方便

2.Soucetree

image-20240401143104695

Soucetree是我最常用的git图形界面了,相比于vscode自带的更直观了,对于分支的操作更方便。

我认为唯一不足的就是修改代码对比,soucetree只显示修改行对比,而vscode的左右代码整个文件对比感觉更直观一点。

这两种方式具体操作这里不具体介绍了,大家自行百度即可。有什么看法也欢迎讨论~

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

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

相关文章

GCNet: 非局部网络与挤压-激励网络的融合与超越

摘要 非局部网络(NLNet)通过为每个查询位置聚合特定于查询的全局上下文,为捕获长距离依赖关系提供了一个开创性的方法。然而,经过严格的实证分析,我们发现非局部网络所建模的全局上下文在图像中的不同查询位置几乎相同…

分享 5 个提高技术领导力的技巧

技术领导力于很多人而言都是谜一般的存在。有观点认为,实战经验丰富的资深开发最终只有成为技术管理者才能继续成长。从某些方面来看,这可能是对的,但考虑到公司结构和规章制度等,想要完成从「个人贡献者」到「技术管理者」的跨越…

ModuleNotFoundError: No module named ‘utils.utils pytorch项目报错

首先呢会报错是因为引入的问题 代码是这样的但是sys.path.append的功能仅限当前的目录 sys.path.append("..") from utils.utils import MyDataset, validate, show_confMat应该加下面的文件路径 sys.path.append("..") from Code.utils.utils import My…

基于8086七路抢答器倒计时仿真设计

**单片机设计介绍,基于8086七路抢答器倒计时仿真设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于8086的七路抢答器倒计时仿真设计是一个结合了微处理器控制、抢答逻辑以及倒计时功能的综合性项目。该系统能够模拟七路抢…

【树状数组专题】【蓝桥杯备考训练】:数星星、动态求连续区间和、一个简单的整数问题、一个简单的整数问题2【已更新完成】

目录 1、数星星(《信息学奥赛一本通》 & ural 1028) 思路: 基本思路: 树状数组经典三函数: 1、lowbit()函数 2、query()函数 3、add()函数 最终代码: 2、动态求连续区间和(《信息学奥赛一本…

智能仪器替代技术工程师重复工作 专注生产方案优化!

关键词:智能仪器,测径仪,测宽仪,测厚仪,直线度测量仪 在当今竞争激烈的市场环境下,企业需要不断提高生产效率和质量,以满足客户的需求。而技术工程师在生产过程中扮演着至关重要的角色,但他们的时间和精力往往被重复的工作所占据&…

FPGA寄存器 Vivado IP核

1. 今日任务 小梅哥视频:21A 认识并理解FPGA中的存储器模型_哔哩哔哩_bilibili 21B 学习使用Vivado中的存储器资源_哔哩哔哩_bilibili 2. FPGA中的存储器类型 只读ROM eg.CMOS摄像头初始化、DDS信号发生器(固定波形数据的…

docker-compse安装es(包括IK分词器扩展)、kibana、libreoffice

Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。 Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据…

【NOI】树 2164 - 子结点的数量 2165 - 子结点的数量(2)1775 - 谁的孙子最多1776 - 谁的孙子最多II

文章目录 问题一:2164 - 子结点的数量问题二:2165 - 子结点的数量(2)问题三:1775 - 谁的孙子最多问题四:1776 - 谁的孙子最多II 问题一:2164 - 子结点的数量 类型:树 题目描述&…

mysql 故障排除与优化

目录 一 mysql 逻辑架构图 二 msql单实例常见故障 1, 故障一 2, 故障二 3, 故障三 4, 故障四 5, 故障五 6, 故障六 7, 故障七 8, 故障八 三 mysql 主从环境常见故障 1, 故障一 2, 故障二 3, 故障三 四 mysq 常见优化 1,硬件优化…

校园二手书交易|基于springboot的校园二手书交易设计与实现(附项目源码+论文)

基于springboot校园二手书交易平台的设计与实现 目录 基于springboot校园二手书交易平台的设计与实现 一、摘要 二、相关技术 java、tomcat、mysql、spring、sprigBoot、mybatis、query、vue 三、系统设计 3.1 整体功能设计图 3.2 功能具体细节设计 四、数据库设计 五…

砍树c++

题目&#xff1a; 代码&#xff1a; #include<bits/stdc.h> using namespace std; long long n,m,a[100000005]; bool jltm(int x){long long sum0;for(int i1;i<n;i){if(a[i]>x) sumsuma[i]-x;}//计算此时锯片高度砍掉的木材if(sum>m) return 1;else return 0…

城市排涝与海绵城市教程

原文链接&#xff1a;城市排涝与海绵城市教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247599633&idx3&snbfe71e1b4f918864fdfe8e33db8a104b&chksmfa8207f6cdf58ee03dea20cc64bb106aadd729fcbf0a1ce3f920d3e767f78e53fa6a094d8d2a&token21066…

Linux_应用篇(02) 文件 I/O 基础

本章给大家介绍 Linux 应用编程中最基础的知识&#xff0c;即文件 I/O&#xff08;Input、 Outout&#xff09; &#xff0c; 文件 I/O 指的是对文件的输入/输出操作&#xff0c;说白了就是对文件的读写操作&#xff1b; Linux 下一切皆文件&#xff0c;文件作为 Linux 系统设计…

微信小程序wx.navigateTo无法跳转到Component组件问题解决。(共享元素动画必备)

关于Component构造器官方是有文档说明的&#xff0c;然后官方文档内部也给出了组件是可以通过像pages一样跳转的。但是官方文档缺少了必要的说明&#xff0c;会引起wx.navigateTo无法跳转到组件问题&#xff01; 以下是官方文档截图&#xff1a; 解决方式&#xff1a; 组件创建…

IP归属地在互联网行业中的应用

摘要&#xff1a;IP&#xff08;Internet Protocol&#xff09;地址归属地是指互联网上某个IP地址所对应的地理位置信息。在互联网行业中&#xff0c;IP归属地具有重要的应用价值&#xff0c;包括网络安全、广告定向、用户定位等方面。IP数据云将探讨IP归属地在互联网行业中的应…

解锁流量密码:自养号测评助亚马逊、shein店铺销量飙升

流量是影响一款产品销售的重要因素&#xff0c;当一款产品的流量增多&#xff0c;那么其销量也会随之增加&#xff0c;相反的&#xff0c;流量减少&#xff0c;那么销量也会随之降低。那卖家们又该如何提高店铺流量呢&#xff1f;下面我们就来分享一些提高店铺流量的方法。 无…

入门stm32单片机,0基础是怎么做到的

大家好&#xff0c;今天给大家介绍8步就能系统入门stm32单片机&#xff0c;文章末尾附有分享大家一个资料包&#xff0c;差不多150多G。里面学习内容、面经、项目都比较新也比较全&#xff01;可进群免费领取。 对于没有基础的大学生来说&#xff0c;想要系统入门STM32单片机&a…

校园招聘管理系统(源码+文档)

校园招聘管理系统&#xff08;小程序、ios、安卓都可部署&#xff09; 文件包含内容程序简要说明含有功能项目截图客户端热门岗位校园招聘首页个人简历添加个人简历我的界面注册界面查看个人简历界面个人资料界面登录界面消息界面退出登录 管理端登录界面![请添加图片描述](htt…

GLTFExporter是一个用于将3D场景导出为glTF格式的JavaScript库。

demo案例 GLTFExporter是一个用于将3D场景导出为glTF格式的JavaScript库。下面我将逐个讲解其入参、出参、属性、方法以及API使用方式。 入参&#xff08;Input Parameters&#xff09;: GLTFExporter的主要入参是要导出的场景对象和一些导出选项。具体来说&#xff1a; s…