Git 基础使用(1) 入门指令

文章目录

  • Git 作用
  • Git 安装
  • Git 使用
    • Git 仓库配置
    • Git 工作原理
    • Git 修改添加
    • Git 查看日志
    • Git 修改查询
    • Git 版本回退
  • 概念补充

Git 作用

Git 是一种分布式版本控制系统,它旨在追踪文件和文件夹的更改,并协助多人协作开发项目。

Git 安装

(Linux-ubuntu)

# 安装指令
sudo apt-get install git -y 
# 查看是否安装成功
git --version

Git 使用

Git 仓库配置

(Linux-Ubuntu)

// 创建⼀个 Git 本地仓库
// 仓库是进⾏版本控制的⼀个⽂件⽬录
// 执行后会在当前目录下创建一个 .git 隐藏文件夹
git init// 配置 Git 
// Your Name 为用户名称
//  --global 为可选项,如果加上,表示本主机上所有Git仓库都会用这个配置
git config [--global] user.name "Your Name" 
//  email@example.com 为用户邮箱
git config [--global] user.email "email@example.com"// 查看当前配置
git config -l// 取消设置
git config [--global] --unset user.name
git config [--global] --unset user.email

Git 工作原理

Git ⽐其他版本控制系统设计得优秀,因为 Git 跟踪并管理的是修改操作,⽽⾮⽂件。修改包括增、删、改。

Git 修改添加

⼯作区:是在电脑上你要写代码或⽂件的⽬录
暂存区:英⽂叫 stage 或 index。⼀般存放在 .git ⽬录下的 index ⽂件(.git/index)中,我们把暂存区有时也叫作索引(index)。
版本库:⼜名仓库,英⽂名 repository 。⼯作区有⼀个隐藏⽬录 .git ,它不算⼯作区,⽽是 Git 的版本库。这个版本库⾥⾯的所有⽂件都可以被 Git 管理起来,每个⽂件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原“。

在这里插入图片描述
在创建 Git 版本库时,Git 会为我们⾃动创建⼀个唯⼀的 master 分⽀。当对⼯作区修改(或新增)的⽂件执⾏ git add 命令时,暂存区⽬录树的⽂件索引会被更新。当执⾏提交操作 git commit 时,master 分⽀会做相应的更新,可以简单理解为暂存区的⽬录树才会被真正写到版本库中。

文件添加的具体操作:

# 将工作区的指定文件加入暂存区  
# git 也有其他用法如添加目录进暂存区等等
git add [file1] [file2]
# 将暂存区内容添加到本地仓库
# message为添加内容时的提示信息,不能被省略
# git
git commit -m "message"

Git 查看日志

## 查看提交日志
git log 

在这里插入图片描述
结果解释: 黄色字体为 commit id , 其他包括用户名、邮箱、提交时间、更新提示等等

Git 修改查询

# 验证上次提交后有没有对文件进行过修改
git status
# 显⽰暂存区和⼯作区⽂件的差异
git diff [file]
# 查看版本库和⼯作区⽂件的区别。
git diff HEAD -- [file]

在这里插入图片描述

Git 版本回退

git reset 命令⽤于回退版本,可以指定退回某⼀次提交的版本。要解释⼀下“回退”本质是要将版本库中的内容进⾏回退。

# git reset 命令⽤于回退版本git reset [--soft | --mixed | --hard] [HEAD]
/*
--mixed 为默认选项,使⽤时可以不⽤带该参数。该参数将暂存区的内容退回为指定提交版本内容,⼯作区⽂件保持不变。--soft 参数对于⼯作区和暂存区的内容都不变,只是将版本库回退到某个指定版本。--hard 参数将暂存区与⼯作区都退回到指定版本。切记⼯作区有未提交的代码时不要⽤这个命令,因为⼯作区会回滚,你没有提交的代码就再也找不回了,所以使⽤该参数前⼀定要慎重
*/# 仅将工作区内容回退到最近⼀次 add 或 commit 时的状态
git checkout -- [file]  /*   [HEAD]HEAD 表⽰当前版本
HEAD^ 上⼀个版本
HEAD^^ 上上⼀个版本HEAD~0 表⽰当前版本
HEAD~1 上⼀个版本
HEAD^2 上上⼀个版本*/

Git 基础使用(2)分支管理

概念补充

.git 目录中,一些关键文件/ 目录 的介绍。

index: 暂存区, git add 后会更新该内容。
HEAD: 默认指向 master 分⽀的⼀个指针。
refs/heads/master: ⽂件⾥保存当前 master 分⽀的最新 commit id 。
objects: 包含了创建的各种版本库对象及内容,可以简单理解为放了 git 维护的所有修改。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Pyqt中QThread传递自己定义的参数、类、函数

Pyqt中QThread传递自己定义的参数、类、函数 1 pyqt中Qthread传递自己定义的参数2 pyqt中Qthread传递自己定义的类3 pyqt中Qthread传递自己定义的函数4 pyqt中Qthread内部定义自己的函数5 pyqt中Qthread传递参数到内部定义自己的函数 1 pyqt中Qthread传递自己定义的参数 在PyQ…

bugfix:遇见“隐形字符”:ⅰ与i的编码迷局

前言 在软件开发的世界里,遇到各种奇奇怪怪的bug是在所难免的。今天,我就遭遇了一个看似简单实则棘手的问题——用户反馈账号无法登录,系统一直提示“账号不存在”。一番抽丝剥茧后,我发现问题竟然出在一个不起眼的字符上&#x…

589.N叉树的前序遍历

刷算法题: 第一遍:1.看5分钟,没思路看题解 2.通过题解改进自己的解法,并且要写每行的注释以及自己的思路。 3.思考自己做到了题解的哪一步,下次怎么才能做对(总结方法) 4.整理到自己的自媒体平台。 5.再刷重复的类…

深度剖析进程概念与进程状态

文章目录 1. 前言2. 什么是进程2.1 进程概念2.2 进程描述——PCB 3. 进程的一些基本操作3.1 查看进程3.2 结束进程3.3 通过系统调用获取进程标示符3.4 通过系统调用创建子进程 4. 进程状态4.1 普适的操作系统层面4.2 具体Linux操作系统层面 5. 两种特殊的进程5.1 僵尸进程5.2 孤…

[笔试训练](二十二)064:添加字符065:数组变换066:装箱问题

目录 064:添加字符 065:数组变换 066:装箱问题 064:添加字符 添加字符_牛客笔试题_牛客网 (nowcoder.com) 题目: 题解: 枚举所有A,B字符串可能的对应位置,得出对应位置不同字符数量的最小情况 两字符串的字符数量差n-m&…

【时隙ALOHA,CSMA(载波侦听多路访问)carrier sense mltiple access,无线局域网: CSMA/CA】

文章目录 时隙ALOHA时隙ALOHA的效率( Efficiency )纯ALOHA(非时隙)----效率低CSMA(载波侦听多路访问)carrier sense mltiple accessCSMA冲突CSMA/CD(冲突检测)边说边听(提高了信道利用率)以太网就是用的这个无线局域网: CSMA/CA无线局域网中的 MAC&#…

HTML常用标签-表单标签

表单标签 1 表单标签2 表单项标签2.1 单行文本框2.2 密码框2.3 单选框2.4 复选框2.5 下拉框2.6 按钮2.7 隐藏域2.8 多行文本框2.9 文件标签 1 表单标签 表单标签,可以实现让用户在界面上输入各种信息并提交的一种标签. 是向服务端发送数据主要的方式之一 form标签,表单标签,其内…

Docker 使用 Fedora 镜像

Fedora 在 Docker 中的使用也非常简单,直接使用命令 docker run -it fedora:latest bash 就可以 pull 到本地的容器中并且运行。 C:\Users\yhu>docker run -it fedora:latest bash Unable to find image fedora:latest locally latest: Pulling from library/fed…

C# OpenCvSharp DNN 黑白老照片上色

C# OpenCvSharp DNN 黑白老照片上色 目录 效果 项目 代码 下载 参考 效果 项目 代码 using OpenCvSharp; using OpenCvSharp.Extensions; using System; using System.Diagnostics; using System.Drawing; using System.Drawing.Imaging; using System.Runtime.InteropS…

Kali Linux 安装 + 获取 root 权限 + 远程访问!保姆级教程!

kali是linux其中一个发行版,基于Debian,前身是BackTrack(简称BT系统)。kali系统内置大量渗透测试软件,可以说是巨大的渗透系统,涵盖了多个领域,如无线网络、数字取证、服务器、密码、系统漏洞等…

Context Pattern上下文模式

使用情景 全局使用的配置,数据库的连接。MVC中的跨层数据传输携带请求ID,用户信息等用户权限信息线程上下文 跨层数据共享 统一调用参数 携带多个事务需要处理的对象 携带用户信息 使用ThreadLocal

C#中json数据序列化和反序列化的最简单方法(C#对象和字符串的相互转换)

文章目录 将C#对象转换为json字符串Newtonsoft模块的安装用Newtonsoft将对象转换为json字符串 将json字符串转换为C#对象 将C#对象转换为json字符串 本介绍将基于C#中的第三方库Newtonsoft进行,因此将分为Newtonsoft模块的安装和使用两部分。该模块的优势在于只需要…