跟廖雪峰老师学习Git笔记Day 22,April,2019NEUQ

Git是世界上最先进的分布式版本控制系统(没有之一),分布式版本控制系统能自动帮人记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去,如果想看某次改动,只需要在软件里瞄一眼,这样就很方便。
在这里插入图片描述
1.Git的诞生
Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。
2.集中式和分布式
集中式版本控制系统:版本库是集中存放在中央服务器的,集中式版本控制系统的最大的毛病就是必须联网才能工作,所以有时候下载速度可能慢的憋屈。
分布式版本控制系统:分布式版本控制系统没有“中央服务器”,每个人的电脑都是一个完整的版本库,这样工作的时候就是不需要联网的,因为版本库就是在自己的电脑上。但是既然2每个人的电脑都是一个完整的版本库,那如何进行多人协作呢?只需将各自的修改发给其他人就可以了。
**分布式版本控制系统的安全性要高很多,因为每个人的电脑都有完整的版本库,某一个人的版本库坏掉了不要紧,随便从其他人那儿复制一下就可以了,而集中式分布控制系统的中央服务器要是出现了问题就会让所有人都干不了活。另外还有强大的分支管理
*在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为你们两人可能不在一个局域网内,两台电脑互相访问不了,或者是你的同事今天电脑并没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家照样干活,只是交换修改不方便而已。
2.在Windows安装Git
直接从官网开始下载安装程序后,找到Git bush,在蹦出的类型cmd的黑乎乎窗口输入
$ git config --global user.name “Your Name”
$ git config --global user.email "email@example.com"
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。

注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
3.创建版本库(仓库)repository
可以简单的理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以“还原”
1.首先,选择一个合适的地方,创建一个空目录:
$ mkdir learngit
$ cd learngit
$ pwd
/c/Users/HP/learngit
#pwd命令用于显示当前目录,在我的Windows上,这个仓库位于/c/Users/HP/learngit
( 如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。)
注意:千万别在创建好仓库后,你为了以后寻找方便,于是加了中文(learngit (Git仓库))像这种形式的话执行 git init 会弹出fatal: unable to get current working directory: No such file or directory,正确的弹出是:Initialized empty Git repository in C:/Users/HP/learngit/.git/

好了,执行git init 后弹出的正确形式后,就意味着Git把仓库建好了,而且告诉你这是一个空仓库,而且后面会多出.git的目录,这个目录是用来跟踪管理版本库的没事千万别手动修改这个目录里面的文件,不然全乱了,就把Git仓库给破坏了
注意:如果你没有看见.git目录,那是因为这个目录默认是隐藏的,用Is -ah命令就可以看见
,如果你之前的显示出来目录的话,再次操作这个就会显示出 command not found。当然啦,并不是要求一定在空目录下创建Git仓库,选择一个已经有东西的目录也是可以的。
4.把文件添加到版本库
所有的版本控制系统,其实只能跟踪文本文件的改动,比如Txt文件,网页,所有的程序代码等等,Git也不例外,版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。而图片,二进制文件虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,只知道图片的占用内存是如何变化的,但到底改了什么,这是无法知道的。由于Word是二进制格式,因此版本控制系统是没法跟踪Word文件的改动的,如果真正使用版本控制系统,就要以纯文本方式编写文件。
注意:因为文本是有编码的,比如中文有常用的GBK编码,日文有Shift_JIS编码,如果没有历史遗留问题,强烈建议使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持。

使用Windows的小伙们要注意:
不要用Windows自带的记事本编辑任何文本文件(Microsoft开发记事本的团队为了保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题),建议下载Notepad++代替记事本(记得把Notepad++的默认编码设置为UTF-8 without BOM)
可能在编码的选项那儿并不能找到这个,不慌,打开设置里的首选项,选择新建就可以找到了在这里插入图片描述
默认·勾选就可以了在这里插入图片描述
5.编写一个readme.txt文件Git is a version control system.
Git is free software.
一定要存放在learngit目录下(子目录也可以),放到其他的地方给能找不到这个文件
两步法将一个文件放到Git仓库
1)git add .告诉Git把文件添加到仓库
发现没有任何显示,说明添加成功(注意后面是有点的)
2)git commit -m "wrote a readme file"告诉Git,把文件提交到仓库

-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。嫌麻烦不想输入-m "xxx"行不行?确实有办法可以这么干,但是强烈不建议你这么干,因为输入说明对自己对别人阅读都很重要。

git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的readme.txt文件);2 insertions:插入了两行内容(readme.txt有两行内容)。

因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m “add 3 files.”

posted @ 2019-04-22 18:16  lures  阅读(90)  评论(0)    收藏  举报