git基本概念(1)

部分参考:

对给git配置邮箱和用户名的理解_ITWANGBOIT的博客-CSDN博客_git为什么要配置用户和邮箱

工作区和暂存区 - 廖雪峰的官方网站 (liaoxuefeng.com)

开始

git config --global user.name "今年一定暴富"
git config --global user.email "3378404370@qq.com"

结果:

 需要配置前提:

远程仓库一般支持两种协议:SSH和HTTPS,SSH协议只认机器,HTTPS协议只认账号;也即为:如果使用SSH操作远程仓库的话,我们需要使用公钥和私钥对来做权限的认证,如果使用HTTPS操作远程仓库,则需要使用账号密码来做权限的认证。无论是公钥私钥对,还是账号密码,都只做权限的认证;但是远程仓库里需要记录这些提交记录是由谁来完成的;所以我们需要给本地的git设置用户名和邮箱,用于从本地仓库向远程仓库提交记录时,在远程仓库记录下这些操作是由谁来完成的
为什么要配置:

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址(名字和邮箱都不会进行验证),这样远程仓库才知道哪次提交是由谁完成的。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。

配置的用户名和邮箱对push代码到远程仓库有什么影响

首先,配置的用户名和邮箱对push代码到远程仓库时的身份验证没有作用,即不用他们进行身份验证;他们仅仅会出现在远程仓库的commits里。(不会进行身份验证,只会出现在Coomit里面)

其次,按正常操作来说,你应该配置你的真实用户名和邮箱,这样一来在远程仓库的commits里可以看到哪个操作是你所为。

最后,这个用户名和邮箱是可以随便配置的(不提倡),如果你配置的邮箱是github里真实存在的邮箱,则commits里显示的是这个邮箱对应的账号;如果配置的邮箱是一个在github里不存在的邮箱,则commits里显示的是你配置的用户名。

创建

git init

初始化一个git 可以管理的库 会返现文件夹下多了一个.git,这个目录是Git来跟踪管理版本库的

 

 

 

操作本地仓库

touch readme.txt    创建文件命令
git add readme.txt   添加readme.txt 加入缓冲区
git commit -m "write a readme.txt"   从缓冲区提交到本地  
touch file1.txt file2.txt file3.txt
git add file1.txt file2.txt file3.txt 添加缓冲区
git commit -m "add 3 files"

结果如图

git status 查看工作区的状态

对 readme.txt进行修改

 

git diff readme.txt  //查看变动

 

 

 

git log 打印日志

git log --pretty=oneline 简单显示 这里没有

 

回退版本
git reset --hard HEAD^ 回到上一个版本
git reset --hard HEAD^^ 回到上上个版本 ^表示的是上个 ^理论上有上百个
HEADHEAD就是指向当前分支当前版本的游标

如图

 

 如果在想回到上个版本怎么办,如果没关 那么

 

 回退的原理

 

 从git reflog 可以看到commitid  92339b8

  

工作区:

就是在电脑里能看到的目录

 

 

 

 

 一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的:

 如果不用git add 那么不会提交到缓冲区

 

posted @ 2021-12-06 17:17  天道酬勤312  阅读(40)  评论(0)    收藏  举报