Git学习笔记 (git的介绍、安装、使用)
!! 阅读前提示:
1)本文是自己的学习过程和经验的总结,和大多数人一样,不懂就搜度娘、csdn、博客园等等,内容难免有不足之处和理解不到位的情况,请见谅。所有知识来源于网络,摘录内容会指明出处。
3)本文更新于2022/11/26,未完待续,持续更新。
!!兄弟们~~在2022/11/26逛某乎时,我发现了一个宝藏——git的官方教程
https://git-scm.com/book/en/v2
这是网址,打开后在左边一列可以选择语言,这份文档也可以下载pdf或者epub,不过下载后是英文的
强烈推荐官方文档,下面的内容就当看个乐子吧
一、 Git的介绍
1、 简介
git是一个开源的分布式版本控制系统。
- 可以有效、高速地处理从很小到非常大的项目版本管理,也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
- 绝大部分操作在本地执行,因此运行速度极快
- git注重完整性,每次提交均会产生一个“由40个16进制数组成的”哈希值
- git一般只能添加数据
参考资料:
【GIT(分布式版本控制系统)_百度百科 (baidu.com)https://baike.baidu.com/item/GIT/12647237】
【官方文档】
2、Git与github的关系
github和git是两个东西,github是一个社区,git是一个服务系统,github只支持git分布式系统,所以故名成为github。而使用git工具可以将代码备份到任何一个支持git的远程仓库。
3、git的原理
git分为三部分,工作区、本地仓库、远程服务器,结构见图(自己画的,有些简陋),操作后面讲。
- 这里的git远程仓库remote,并非单指github,任何有git功能的远程仓库都可。
- git add 暂存,本质是将要提交的文件列表保存到一个git的文件里,当进行git commit时读取这个文件,获取要提交哪些文件;
- git clone所做的事,是将远程仓库克隆到本地仓库,也就是说克隆完成后,本地会有整个仓库的完整镜像(不用担心远程仓库崩掉)
二、git的安装
https://git-scm.com/Git的官网,根据系统自行下载
三、git的配置
git安装完成后,使用前,需要进行配置,不然你就要和警告见面了
root@magickiki-virtual-machine:/home/magickiki/Projects/vsTest# git commit
作者身份未知
*** 请告诉我你是谁。
运行
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
来设置您账号的缺省身份标识。
如果仅在本仓库设置身份标识,则省略 --global 参数。
fatal: 无法自动探测邮件地址(得到 'root@magickiki-virtual-machine.(none)')
1 git的三个配置文件
分别是
内容 | Linux位置 | windows位置 | 修改参数 | |
---|---|---|---|---|
系统git配置 | 保存本机上所有用户和用户的仓库的通用配置 | /etc/gitconfig | (在git的安装目录下) | –global |
用户的全局git配置 | 某个用户的git通用配置 | 用户根目录/.gitconfig或者./config/git/config/ | $HOME\(HOME的值需要查看系统变量) | –local |
仓库git配置 | 具体仓库的git配置 | 仓库目录/.git/config | 仓库目录/.git/config | (在仓库目录下执行配置命令即可) |
!注意:修改下层配置会影响上层配置,例如修改仓库git配置,会依次影响全局配置,系统配置
- git命令查看配置文件
git config --list --show-origin
2 配置用户名称,邮箱(很重要)
就是最开始遇到的那个问题,运行命令
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
注意
1. 此命令只需要运行一次,以后就不用再配置
假如你使用userAA的用户运行了此条命令,那么userAA下的所有git仓库提交时,都会使用刚刚配置的用户名和邮箱。
如果你想让某个仓库使用其他的名字和邮箱,不必把全局配置改来改去,直接在仓库目录下,执行命令:
git config user.email "New@example.com"
git config user.name "NewName"
3 查看配置
命令:
查看所有配置:
git config --list
查看某一项配置
git config 配置项名称
例如
root@magickiki-virtual-machine:/home/magickiki/Projects/vsTest# git config --list
user.name=kiki
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
root@magickiki-virtual-machine:/home/magickiki/Projects/vsTest# git config user.name
kiki
三、git需要了解的一些内容
1 git中文件的状态
分类 | 状态 | 简写 | |
---|---|---|---|
未跟踪 | - | ?? | |
已跟踪 | 未修改 | - | |
已跟踪 | 已修改 | M | |
已跟踪 | 暂存 | A |
查看文件状态的命令
git status
或者
git status -s
2 忽略指定文件
编写.gitignore文件
四、git的使用(按场景叙述)
1 没有项目,白手起家(新建git仓库)
在要创建仓库的目录下
git init
例如:
root@/root/project/AA#pwd
/root/project/AA
root@/root/project/AA#git init
root@/root/project/AA#ls
.git
root@/root/project/AA#
出现.git文件夹说明执行成功
2 克隆远程仓库项目到本地
现在你有一个叫AA的项目,项目地址是:https://AA.git,你要把它克隆到/root/project/目录下
cd到目录下
cd /root/project/
root@/root/project/#pwd
/root/project/
git clone https://AA.git
root@/root/project/#ls
AA
克隆会在当前目录下创建一个与项目同名的文件夹,并将项目拷贝到这个目录下
3 可以愉快的敲代码了
4 想先保存一下代码
暂存修改
未完待续····