Git的初体验

最近圈子里的大佬不只是约好是还是怎么滴,大伙都谈起了Git这个东西。而自己对Git这个东西还只是一知半解,简单知道这是一个代码托管之类的版本控制工具,其他却一无所知。说来也巧,一期项目刚好交给老大验收,当然是稳过的啦。现在的时间就剩下自己安排了,想了想自己还是有很多事情还没干。But,多大的事情在我这颗爱装13的心的跳动下,还是默默下载了Git,撸了半天后还是决定写下此文。

       俗话说,学习要一定要有扎实的基础。那么我们就先看看Git到底是个啥玩意。

        git其实是Linux创始人Linus为了管理全世界热心志愿者为Linux编写的代码而开发的一个版本控制系统。在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!后面Linus因为BitMover公司威胁Linux社区,一怒之下,花费两周时间用C编写了一个分布式版本控制系统-----没错就是Git。自2008年 Github 上线后,git为其开源项目提供免费储存,无数开源项目开始迁移至 GitHub,包括jQuery,PHP,Ruby等等。

        简而言之,Git就是一个分布式版本控制系统。相对于CVS 和 SVN等这些集中式版本控制系统,Git的分布式版本控制,无疑是最吸睛的。

        可能你也不知道什么是集中式和分布式,顺道解析下吧。

        先说集中式版本控制系统。集中式版本控制的版本库必须放在中央服务器,干活的时候先要从中央服务器获取最新的版本,干完活后把代码推送到中央服务器。就好比,老师让你帮忙修改作业,要先把作业本拿回家,改完了,再给回老师(原理图如下)。

6743666-42edab5b38e002fa.png

集中式版本控制系统

        集中式版本控制系统最大的毛病是需要联网才能工作,而且对网络的要求较高。分布式版本控制系统就完美解决了这一点。

        因为分布式版本控制系统根本就没有“中央服务器”,每台工作的电脑都是一个完整的版本库。如此一来,你工作的时候就不用联网了。假若你的电脑上改了代码片段A,小明电脑也改了片段A,我两只需要把各自修改的推送给对方,对方都可以看到对方的修改了,一次达到多方合作的目的。在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天小明病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已(如下图)。

6743666-0f6ddf682af2008d.png

分布式版本控制系统

        而且分布式版本控制系统远比集中式的安全性能要高很多,因为分布式每个人的电脑都有完整的版本库,某台电脑垮掉了,就去别的电脑拷贝一份就行。集中式的若是中央服务器出现问题,其他人就没法干活了。而且Git还有更强大的分支管理,这个用到再说。

在Windows安装Git

        在官网上下载Git,一路狂点安装完毕。在开始菜单找到Git --> Git Bash (如图)

6743666-064e31d89595eefe.png

Git Bash

6743666-098d9a90d036ff07.png

配置创建Git仓库

         现在还需要配置git,命令行输入:

git config --global user.name "your git name"

git config --global user.mail "email@example.com"

6743666-f28cb3ac4c761c40.png

        什么是版本库呢?版本库就是仓库,英文名:respository,你可以简单理解为一个文件夹,里面存放的都是归Git管理的文件。而且里面的每个文件的增删查改都是能跟踪的。方便用户进行对该文件的某个时间节点的版本进行跟踪以及还原。

        如何去创建一个版本库?很简单,在自己系统找个合适的地方(路径最好不要包含中文,不然结果会让你很震惊),本文在 "D:/Git/" 使用命令行创建learngit文件夹,然后打开 learngit 文件夹,使用 pwd 命令

$ mkdir learngit

$ cd learngit

$ pwd 

        其次,再通过 git init 命令把这个目录 变成 git 可以管理的仓库:

$ git init

Initialized empty Git repository in D:/Git/learngit/.git/

        这时候在目录下会多一个 .git 的目录(如果没看到,应该是该目录被隐藏了,可以使用命令行 " ls -ah "查看),这个是用来跟踪管理版本库的,小白千万别碰目录里面的文件。不然该乱了,就把这个仓库破坏了。

把文件添加到版本库中

        默认的编码格式一定是 UTF-8 无BOM编码。这里重要的事情说三遍!!!

        默认的编码格式一定是 UTF-8 无BOM编码。这里重要的事情说三遍!!!

        默认的编码格式一定是 UTF-8 无BOM编码。这里重要的事情说三遍!!!

        文本编辑器建议使用notepad++,推荐理由:因为我也在用。

6743666-b2b76db50538cb76.png

        sept 1:使用命令git add 添加文件到仓库

$ git add test.txt

                   执行后没有任何显示那就说明成功了,牢记:Unix的哲学是“没有消息就是好消息”。

        sept 2: 使用命令git commit 提交文件

$ git commit -m "这里提交了test.txt文件!"

                    出现以下提示,表示提交成功:

6743666-366132ce756b3df0.png

                    简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。嫌麻烦不想输入-m "xxx"行不行?确实有办法可以这么干,但是强烈不建议你这么干,因为输入说明对自己对别人阅读都很重要。git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的test.txt文件);2 insertions:插入了两行内容(test.txt有两行内容)。

多说两句

        初始化仓库使用 git init命令

$ git init 

Initialized empty Git repository in D:/Git/learngit/.git/ 

        使用 git add 可以后接多个文件名,因为 git commit 可以一次性提交多个文件

$ git add file1.txt file2.txt

$ git add file3.txt

$ git commit -m "提交了三个文件"

好了,到这里,基本git 的搭建和提交已经没问题了。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值