美文网首页
Git的初体验

Git的初体验

作者: 老衲呢 | 来源:发表于2018-11-13 17:26 被阅读0次

    最近圈子里的大佬不只是约好是还是怎么滴,大伙都谈起了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的分布式版本控制,无疑是最吸睛的。

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

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

    集中式版本控制系统

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

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

    分布式版本控制系统

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

    在Windows安装Git

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

    Git Bash

    配置创建Git仓库

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

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

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

            什么是版本库呢?版本库就是仓库,英文名: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++,推荐理由:因为我也在用。

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

    $ git add test.txt

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

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

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

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

                        简单解释一下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 的搭建和提交已经没问题了。

    相关文章

      网友评论

          本文标题:Git的初体验

          本文链接:https://www.haomeiwen.com/subject/etllfqtx.html