Git学习笔记---初始化本地库和查看本地库的状态

最近在学习git ,下面整理学习的步骤和笔记以及一些错误提示的解决方法,以便日后查看,希望对读者有帮助。 若喜欢的话可以三连支持一下,谢谢!

Git
Git 命令 基于开发案例
Git :分支特性 分支创建 分支转换 分支合并 代码冲突解决

GitHub
创建远程库
代码推送 Push
代码拉取 Pull
代码克隆 Clone
SSH免密登录
Idea 集成 Github

Gitee 码云
码云创建远程库
Idea 集成Gitee 码云

版本控制

在软件开发过程中,协同开发以及版本迭代更新是再正常不过的事情了。但是能够完整、便捷的将版本进行管理确是不太容易的一件事情。

就好比,一个项目,我们开发了第一版、第二版、第三版、打死不改版、绝对不改版、终极版、终极不修改版以至于再改就砸电脑版,最终敲定的方案是第一版。这种情况下,改到最后已经看不出当初的模样了。所以,我们需要将每一次的修改记录并保存下来,以便于为后面的版本溯源。

凡事都是有两面性的,作为版本保存和记录的软件系统也是一样的。所以就诞生了两种不同的管理模式,一种是叫集中式版本控制系统(例如CVS及SVN),另一种则是分布式版本控制系统(例如Git)。

集中式版本控制系统

集中式的版本控制系统,所有的版本库是放在中央服务器中的,也就是说我们每一次的修改上传都是保存在中央服务器中的。中央服务器就是个大仓库,大家把产品都堆里面,每一次需要改进和完善的时候,需要去仓库里面把文件给提出来,然后再操作。

这种版本管理模式,存在的问题是协同工作时可能造成的提交文件不完整,版本库损坏等问题,A提交,B也提交,C下载的时候可能得到的仅是A,B提交版本中的一部分。其次,集中式版本控制系统必须要联网才能工作,不论是局域网还是互联网,必须上网才能将本地版本推送至服务器进行保存。

分布式版本控制系统
分布式版本控制系统,重点在于分布。分布的含义不是说每台计算机上只留有版本库的一部分。**恰恰相反,分布的含义是每台计算机上都还有一个完整的版本库。**这个时候,你的修改仅仅需要提交给本地的版本库进行保存就可以了。那有人就问了,协同开发的话,这玩意儿怎么能协同呢。

不同于集中式版本控制系统的“中央服务器”,分布式版本控制系统可以通过推送版本库,实现不同的计算机之间的版本共享。什么意思呢?就是说对于同一个文件A,如果两个人同时对A文件进行了修改,最新的版本应该都保存在各自的计算机中,想要实现协同开发,只需要将各自的最新版本库推送给对方,就可以得到最新的版本库了。

但是这里面有个问题,就是一个团队很大的情况下,大家都去修改,到底找谁同步版本库,不乱套了嘛。而且,大的开发项目也不是简单的两台计算机之间的版本互推就可以得到完整的版本库的。所以,分布式版本控制系统中通常也会有一台充当“中央服务器”的计算机,大家都把版本推送到这台计算机上,而需要同步的人只需同步这一台固定的计算机就可以。

读到这,您可能觉得,又绕回到集中式版本管理系统了。实则不然,所谓的分布式管理中的“中央服务器”是用来“交换意见”,或者说充当中介作用的。每一台计算机通过和这台固定的中介交换意见以后,都会拥有完整的版本库。

举个不恰当的例子,分布式中的“中央管理器”就是《乡村爱情》中的大脚超市,刘能、赵四以及长贵都掌握了最新的绯闻,通过大脚超市的意见交换后,每个人都掌握了整个象牙山的绯闻。我们可以看到,在这样的绯闻生态下,即便是王长贵挂了,象牙山的故事仍然可以继续。但是如果长贵是集中式的“中央管理器”,每个人可以将自己知道的绯闻、秘密吐槽给他且不外传,那么他的死将会直接导致《乡村爱情》的终结。

Git是优秀的分布式版本管理系统

历史版本—本地库
临时存储—暂存区
写代码—工作区

Git和代码托管中心
代码和托管中心是基于网络服务器的远程代码仓库,一般我们简单地称为远程库

  • 局域网 GitLab
  • 互联网 GitHub(外网) Gitee 码云 (国内网站)

Git常用命令

命令名称作用
git config --global user.name 用户名设置用户签名
git config --global user.email 邮箱设置用户签名
git init初始化本地库
git status查看本地库的状态
git add 文件名添加到暂存区
git commit -m"日志信息" 文件名提交到本地库
git reflog查看历史记录
git reset --hard 版本号版本穿梭

签名的作用是区分不同操作者身份。用户的签名信息在每个版本的提交信息中能够看到,以此缺人本次的提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。
注意:这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系

初始化本地库

在这里插入图片描述
若出现如下的错误提示:
在这里插入图片描述

这个错误就是并不能一步就cd到制定文件夹,需要一步一步转换,需要一步一步的到你指定路径,解决方法如下图所示:
在这里插入图片描述
重点就是一步一步地到指定的路径

查看本地库的状态

在这里插入图片描述
On branch master:当前的本地库在master分支里
No commits yet : 目前没有提交过任何东西,是一个空的git库
nothing to commit : 没有什么东西需要提交,因为没有创建任何文件

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

vim hello.txt :就是创建一个hello的txt文件并在里面写东西
按 i 进入insert 模式;按 esc 退出 innsert 模式;
按大写ZZ就是保存,保存完之后就跳出来

按 ll 就查看hello.txt;
cat hello.txt :查看hello.txt里面有什么
tail -n 1 hello.txt :查看最后一行写了什么

在这里插入图片描述
现在就可以查看hello.txt的状态,发现前面两个和之前一样没变
第三个变成了untracked files(未被追踪的文件),hello.txt还是红色的,
红色代表文件虽然有了,但是存在于工作区,git没有追踪过这个文件
用git add 去追踪,下篇文章就是添加暂存区。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

%Zero%

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值