【编程笔记】学会使用 Git

目录

  • 一、介绍 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.mzph.cn/news/782521.shtml

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

相关文章

当代深度学习模型介绍--卷积神经网络(CNNs)

AI大模型学习 方向一:AI大模型学习的理论基础 模型和应用的多样化:随着研究的深入,深度学习领域出现了多种创新的模型架构: 卷积神经网络(CNNs)专门针对图像处理任务进行了优化,通过模拟生物视…

关于WPARAM和LPARAM参数

从前,Windows 是 16 位的。每条message信息都可以携带两段数据,分别称为 WPARAM 和 LPARAM。在消息参数传递中对指针类型使用强制类型转换,这是一种常见用法。第一个参数是一个 16 位值("word"),…

如何过得更幸福?我推荐你读这5本书

快乐不等于幸福。快乐是一种短暂的体验,随着多巴胺的消退而迅速减退。快乐是有捷径的,那就是戏弄相关的神经回路。 幸福是有意义、有目的和积极的生活的持久体验。 今天,为大家推荐一份“幸福书单”。 01 《幸福的勇气》 岸见一郎、古贺史…

【jenkins+cmake+svn管理c++项目】jenkins回传文件到svn(windows)

书接上文:创建一个项目 在经过cmakemsbuild顺利生成动态库之后,考虑到我一个项目可能会生成多个动态库,它们分散在build内的不同文件夹,我希望能将它们收拢到一个文件夹下,并将其回传到svn。 一、动态库移位—cmake实…

45 对接海康视频九宫格的实现

前言 这里主要是 来看一下 海康视频 的一个九宫格播放的需求 然后 在实际使用的过程中产生了一些问题, 比如 增加一个视频, 应该只增量请求这一个视频的服务, 而一些实现下是全量请求了 整个视频列表的服务 另外 就是全屏播放, 如果是 自己写样式来实现 全屏播放, 可能需要 …

使用vagrant快速创建linux虚拟机

1. 技术解释 vagrant:是一款用于管理虚拟机的命令行使用软件,用Ruby语言开发而成,可以通过 Vagrant 封装一个 Linux 的开发环境,是一款用来构建虚拟开发环境的工具。使用vagrant可以省去你使用虚拟机创建操作系统的所有操作&…

场效应管(MOS管)知识点总结

目录 一、场效应管(FET)基础知识 1.名称 2.电路符号 3.分类 4.应用场景 5.厂商介绍 二、MOS管G、S、D以及判定 三、耗尽型场效应管工作原理 (耗尽型:depletion mode) 四、NMOS与PMOS的区别 (区别:difference) (多晶硅:polysilicon) …

zookeeper 监控 与 JVM 设置

一、通过JMX监控 JVM 默认情况下,在 ./bin/zkServer.sh 脚本中是默认开启了JMX监控的,并且是不需要认证的,详情可见ZOOMAIN变量; ZOOMAIN"-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port$JMXPORT -D…

vue内置组件、特殊元素、组件api详解

vue3移动端项目搭建,vue3vantviteaxiospiniasass完整版代码下载: https://download.csdn.net/download/randy521520/88820174 vue3移动端项目构建TS,vue3vantviteaxiospiniasasstypescript完整版代码下载: https://download.csdn.…

java中的多态以及对象的类型转换

多态 多态指的就是同一事物在不同情况下表现出来的不同状态或者行为。在java中,当调用同一个方法时,由于对象存在差异,不同的对象之间可能存在不同的行为,当父类引用指向了子类对象,用这个父类引用调用子类中重写的方法…

深度学习十大算法之Diffusion扩散模型

1. 引言 扩散模型在近年来成为了热门话题,其火速蹿红主要归功于在图像生成领域的突破应用。尤其是一些从文本到图像的生成技术,它们成功地运用了扩散模型来创建令人惊叹的逼真图像。如果你听说过某个应用能够迅速且高质量地生成图像,那么很可…

【效率提升】Xinstall免填邀请码,让App注册更便捷

在移动互联网时代,App已经成为我们生活中不可或缺的一部分。然而,每当我们要尝试一个新的App时,繁琐的注册流程总是让人感到头疼。其中,填写邀请码这一环节更是让许多人望而却步。幸运的是,Xinstall作为国内专业的App全…

每日OJ题_栈⑤_力扣946. 验证栈序列

目录 力扣946. 验证栈序列 解析代码 力扣946. 验证栈序列 946. 验证栈序列 难度 中等 给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true&a…

数据链路层之信道:数字通信的桥梁与守护者

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

C#/BS手麻系统源码 手术麻醉管理系统源码 商业项目源码

C#/BS手麻系统源码 手术麻醉管理系统源码 商业项目源码 手麻系统从麻醉医生实际工作环境和流程需求方面设计,与HIS,LIS,PACS,EMR无缝连接,方便查看患者的信息;实现术前、术中、术后手术麻醉信息全记录;减少麻醉医师在…

.NET Core教程:深入实践与实例解析

.NET Core教程:深入实践与实例解析 随着技术的发展,.NET Core作为微软推出的一个开源、跨平台的.NET实现,已经越来越受到开发者的青睐。本文将详细讲解.NET Core的基础知识,并通过实例来解析其关键特性和使用方法。 一、.NET Co…

AI程序员Devin的开源替代Devika

前天介绍了 AI软件工程师 微软AI 程序员AutoDev,自主执行工程任务生成代码-CSDN博客 今天介绍下另一款Devin替代品,开源的Devika (另外还有一个开源的 OpenDevin : https://github.com/OpenDevin/OpenDevin) Devika https://github.com/stitionai/dev…

Redis在多节点上如何实现分布式锁?

在多个 Redis 节点上实现分布式锁可以通过以下步骤来完成: 选择分布式锁的实现方式:有多种实现分布式锁的方式,如使用 Redis 的普通锁、RedLock 等。RedLock 是一种基于多个 Redis 节点的分布式锁实现,它通过在多个节点上获取锁来…

awesome-cheatsheets:超级速查表 - 编程语言、框架和开发工具的速查表

awesome-cheatsheets:超级速查表 - 编程语言、框架和开发工具的速查表,单个文件包含一切你需要知道的东西 官网:GitHub - skywind3000/awesome-cheatsheets: 超级速查表 - 编程语言、框架和开发工具的速查表,单个文件包含一切你需…

Python:魔法函数

注意:本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 ([www.aideeplearning.cn]) Python 的魔法函数,又称为特殊方法,是 Python 类中定义的一组特殊的方法,具有一些独特的特性和用途。这些方法…