【编程笔记】学会使用 Git

news2024/11/26 12:16:20

目录

  • 一、介绍 Git
  • 二、安装 Git
  • 三、 常用 linux 目录
  • 四、Git 的必要配置
    • (1) 查看和删除之前的配置
    • (2) 配置 Git
  • 五、Git 基本理论
  • 六、Git 项目搭建
  • 七、Git 文件操作
  • 八、分支
  • Git 笔记 ❀❀❀
    • (1) 常规使用
    • (2) 分支

一、介绍 Git

📖 VCS:Version Control System 版本控制系统
📖 多人开发必用版本控制
📖 版本控制工具: GitSVN、CVS、VSS、TFS
📖 分布式版本控制系统(Git):可立即看到代码的改变
📖 集中式版本控制系统(SVN):需要中央服务器

📖 Linus 两周写完 Git 代码的核心

在这里插入图片描述

二、安装 Git

📖 英文:https://git-scm.com/
📖 https://git-scm.com/download/win

📖 中文:https://git.p2hp.com/

📖 卸载 Git:
① 删除环境变量
② 控制面板 - 程序 - 删除

📖 通过【next】按钮安装
在这里插入图片描述
📖 Git 环境变量安装的时候配置好的(无需自己配置)
在这里插入图片描述

三、 常用 linux 目录

💡 cd
💡 cd …
💡 pwd
💡 ls
💡 ll
💡 touch:新建文件
💡 rm:删除文件
💡 mkdir:新建一个目录
💡 rm -r: 删除一个文件夹
💡 mv:移动文件
💡 reset
💡 clear: 在 Windows 中是 cls
💡 history: 查看历史命令
💡 help
💡 exit

四、Git 的必要配置

(1) 查看和删除之前的配置

# 查看 git 全部可配置项
git config -l

在这里插入图片描述


# 查看系统 git 配置(系统对 git 的配置)
git config --system --list

在这里插入图片描述


# 查看用户对 git 的配置
git config --global --list

在这里插入图片描述


全部的配置都是写在本地(电脑)的一个配置文件上
linux 中配置文件在 etc 目录下
在这里插入图片描述

系统配置:Git 安装目录下的 etc 目录下的 gitconfig 文件夹存有系统配置项

在这里插入图片描述

全局配置:
在这里插入图片描述

(2) 配置 Git

git config --global user.name "ZhangGuoQing"
git config --global user.email "3665668856@qq.com"

在这里插入图片描述

五、Git 基本理论

🎄 Git 本地有三个工作区:工作目录(Working Directory)暂存区(Stage/Index)资源区(Repository / Git Directory)

🎄 Working Directory: 平时存放项目代码的地方
🎄 Stage / Index: 临时存放你的改动(事实上就是一个文件,保存即将提交到文件列表的信息)
🎄 Repository(本地仓库):安全存放数据的位置,此处有我们提交的全部版本的数据(其中 HEAD 指向最新放入仓库的版本

远程 Git 仓库

在这里插入图片描述

暂存区和本地仓库是在 .git 文件夹下,它是个隐藏文件夹


Git 工作流程:

① 在工作目录中 添加、修改、删除 文件
② 将需要版本控制的文件放入暂存区
③ 将暂存区的文件提交到本地仓库,进而提交到远程仓库

git 管理的文件有三种状态:
① 已修改(modified)
② 已暂存(staged)
③ 已提交(committed)

六、Git 项目搭建

在这里插入图片描述

🎈 创建全新的本地仓库

git init

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


🎈 克隆远程仓库 把远程代码拷贝到本地

git clone [url]

url 是远程仓库的地址(该地址来自于 Gitee 或 GitHub)

git clone https://gitee.com/whongbin/snowflakes_fall.git

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

七、Git 文件操作

文件有四种状态:
🎨 ① Untracked(未跟踪):此文件在文件夹中,但并没有假到 git 库,不参与版本控制。通过 git add 命令可把该文件的状态修改为 Staged

新创建的文件,处于该状态。执行 git add 可将其存入暂存区

🎨 ② Unmodify:文件已入库,未修改。版本库中的文件快照与本地文件夹中完全一致。
此种文件有2种去处:如果它被修改,则变为 Modified;如果使用 git rm 将其移出版本库,则它的状态修改为 Untracked

🎨 ③ Modified:文件已修改,仅仅是修改并未进行其他操作。此种文件有两种去路:

git add 进入暂存状态 Staged
git checkout 丢弃修改过的文件,返回到 Unmodify 状态【git checkout 从库中取出文件,覆盖当前修改】

🎨 ④ Staged:暂存状态。执行 git commit 将修改同步到库中,此时库中的文件和本地文件一致,文件为 Unmodify 状态【执行 git reset HEAD filename 取消暂存,文件状态变为 Modified】


查看当前文件夹中全部文件的状态

git status

在这里插入图片描述


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


在这里插入图片描述

在这里插入图片描述

八、分支


Git 笔记 ❀❀❀

(1) 常规使用

在这里插入图片描述
git init
git add .
git commit -m
git push
git --version
clear

git status: 查看工作区文件和暂存区文件的状态

git log: 查看操作日志(时间由近至远)
git log --pretty=oneline
git log --oneline
git reflog

git reset --hard 67c89: 前进或后退历史版本
hard: 暂存区、工作区和本地库同步发生改变
mixed:暂存区和本地库同步改变,工作区不发生改变
soft:本地库发生改变,但暂存区和工作区都不发生改变

找回本地库或暂存区删除的文件: git reset --hard 67c89: 前进或后退历史版本

git diff [filename]:比较工作区和暂存区文件差异
git diff HEAD filename: 比较暂存区和本地库文件差异
git diff de5t6 filename: 比较暂存区和本地库文件差异


(2) 分支

在这里插入图片描述

# 查看全部分支
git branch -v

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

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

相关文章

代码随想录-二叉树(路径)

目录 257. 二叉树的所有路径 题目描述: 输入输出描述: 思路和想法: 404. 左叶子之和 题目描述: 输入输出描述: 思路和想法: 513.找树左下角的值 题目描述: 输入输出描述:…

用JSch实现远程传输文件并打包成jar

本文将简单介绍一下 JSch 这个Java的第三方库的一个简单用法,并以此为实例,讲解 IntelliJ 中打包成 jar 包的2种方式。 实现目标 我们的目标是,做出一个jar包,它能够实现类似于 scp 命令的远程传输文件的功能。用法如下&#xf…

乡村数字化转型:科技赋能打造智慧农村新生态

随着信息技术的迅猛发展,数字化转型已成为推动社会进步的重要引擎。在乡村振兴的大背景下,乡村数字化转型不仅是提升乡村治理能力和治理水平现代化的关键,更是推动农业现代化、农村繁荣和农民增收的重要途径。本文旨在探讨乡村数字化转型的内…

MyBatis 初识简单操作

前言 上一期我们讲完Spring的配置文件以及日志的设置,这一期我们就来谈谈mybatis操作数据库的一些操作,使用这个框架可以极大地简化JDBC的冗长代码,大大增强了生产力,只需我们提供简单的sql语句以及对应的注解就可以操作数据库 我们说web应用程序主要分为三层 Controller Serv…

使用 golang 以及 Gin 框架,将上传的图片在不保存至本地的情况下添加水印,并上传至阿里云 OSS

正如标题所述,使用golang对上传图片添加水印,以及将图片上传到阿里云OSS,网上一搜索,便有你想要的结果了,可是,他们却先将上传图片添加水印后保存在本地,而后再将添加了水印的图片上传到阿里云O…

SRS OBS利用RTMP协议实现音视频推拉流

参考:https://ossrs.net/lts/zh-cn/docs/v5/doc/getting-started 1)docker直接运行SRS服务: docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5运行起来后可以http://localho…

学习笔记——C语言基本概念指针(上)——(7)

今天学习了指针,指针吧理解有点小难,慢慢分析就懂。 在开始学指针之前先回顾一下C语言的数据类型如下图所示: 按照分类分别为: 1->基础数据类型:char ;short; int; long; float&…

Platypus 一种集中式的央行数字货币方案

集中式的CBDC,混合使用账户模型和UTXO模型。 角色分类 中央银行:发行货币,交易验证,公开交易日志,防止双花。 不是完全受信任的,假定为会遵守监管要求,但可能会破坏交易隐私,即获…

瑞吉外卖实战学习--5、新增员工功能

新增员工功能 效果图1、开发流程2、页面发送ajax请求,将新增员工的信息以json的形式提交给服务器2.1、在填写信息的时候会发现身份校验比较麻烦,可以在validate中将全局的校验方式去掉,方便填写2.3、看到接口未employee2.4、前端代码分析3、服务器接收到提交的数据并调用ser…

无论PC还是Mac,都能畅快地使用移动硬盘 Mac使用NTFS移动硬盘不能读写

如果你拥有一台Mac设备,总会遇到尴尬的那一刻——你在Mac上用得好好的移动硬盘怎么都不能被PC识别到。又或者你朋友在PC上用得好好的移动硬盘,连上你的Mac后,Mac里的文件死活就是拷贝不进移动硬盘里。这种坑,相信大多数使用Mac的小…

Linux 基于chrony进行时钟同步方案验证

Linux 基于chrony进行时钟同步方案验证 1. 背景介绍2. 验证过程2.1 追踪配置2.2 追平记录2.2 追平时间换算 3. 疑问和思考3.1 如何统计追踪1s需要花费多长时间? 4. 参考文档 chrony是一个Linux系统中用于时钟同步的工具。它使用NTP(网络时间协议&#xf…

【Java常用的API】JDK8相关时间类

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏 …

Delphi 12 安卓 部署文件,不支持中文文件名

procedure TForm3.Button1Click(Sender: TObject); var sFileName:string; begin sFileName:TPath.Combine(TPath.GetDocumentsPath,禁止吸烟.wav); showmessage(sFileName); MediaPlayer1.Stop ; MediaPlayer1.FileName: sFileName; MediaPlayer1.Play; end;

c语言:vs2022写一个一元二次方程(包含虚根)

求一元二次方程 的根&#xff0c;通过键盘输入a、b、c&#xff0c;根据△的值输出对应x1和x2的值(保留一位小数)(用if语句完成)。 //一元二次方程的实现 #include <stdio.h> #include <math.h> #include <stdlib.h> int main() {double a, b, c, delta, x1…

商品说明书的制作工具来啦,用这几个就够了!

商品说明书是用户了解产品特性、性能、使用方法的重要途径。一个明确、易懂的商品说明书&#xff0c;可以显著提升用户体验&#xff0c;进而提升产品的销量。但我们都知道&#xff0c;制作一份高质量的说明书并不容易&#xff0c;需要仔细设计、计划和撰写。幸运的是&#xff0…

Python模块与包管理使用pip与virtualenv【第151篇—模块与包管理】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Python模块与包管理&#xff1a;使用pip与virtualenv 在Python开发中&#xff0c;模块和包…

【Linux系列】tree和find命令

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

网络性能提升10%,ZStack Edge 云原生超融合基于第四代英特尔®至强®可扩展处理器解决方案发布

随着业务模式的逐渐转变、业务架构逐渐变得复杂&#xff0c;同时容器技术的兴起和逐渐成熟&#xff0c;使得Kubernetes、微服务等新潮技术逐步应用于业务应用系统上。 为了充分释放性能、为业务系统提供更高效的运行环境&#xff0c;ZStack Edge 云原生超融合采用了第四代英特尔…

c语言例题,逐个打印数字

今天来分享个比较简单的程序例题&#xff0c;也是比较经典的一个新手例题&#xff0c;逐个打印输入的数字。我们直接从主函数看起&#xff0c;先定义一个num变量&#xff0c;同时变量的类型是unsigned int&#xff0c;这个类型的意思是无符号的整型变量&#xff0c;unsigned&am…

单链表求集合的交集

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct LinkNode {ElemType data;LinkNode* next; }LinkNode, * LinkList; //尾插法建立单链表 void creatLinkList(LinkList& L) {L (LinkNode*)mallo…