美文网首页
第二章 初识Git

第二章 初识Git

作者: kison_ | 来源:发表于2018-06-15 11:05 被阅读0次

    第二章 初识Git

    1.Git的历史

    Linux系统之前的存代码方式都是志愿者以diff方式传给linux手工合并代码,后来觉得麻烦,但又觉得集中式版本控制系统cvs、svn太垃圾就不用。后期代码库太大无法维护,就用BitKeeper的免费版本,到了05年,有人试图破坏免费协议,然后BitKeeper就一怒之下收回使用权。

    后来没办法,Linus花了两周时间,自己用C编写了一个分布式版本控制系统,即Git。在之后,linux上的源码全都在Git管理了。

    2. 集中式vs分布式

    集中式:版本库集中放在中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

    毛病在于集中式必须联网,网速要够快,带宽要打。

    分布式:每个人的电脑都是一个完整的版本库,那如何多人协作?比如你在你的电脑修改文件A,他在他的电脑修改了文件A,你俩只需要把自己修改的内容发给对方即可看到对方的修改了。这样做安全性提高了许多。

    但是在实际使用分布式的时候,很少两人之间推送文件修改。往往是分布式控制系统通常也有一台充当“中央服务器”的电脑,这个电脑的作用仅仅是让大家来交换自己的改动。

    3. 安装Git

    3.1windows上安装git

    下载完安装程序后,然后按默认选项安装即可。安装完成后,在开始菜单里找到

    “Git”->“Git Bash”。安装完成后,需要在命令行输入:

    $ git config --global user.name "Your Name"

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

    因为git是分布式版本控制系统。所以每个机器都需要输入用户名和email地址。如果被冒充怎么查?

    注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email

    3.2linux上安装git

    3.3mac上安装git

    4.创建版本库

    版本库repository,可以理解为一个目录。这个目录里所有的文件都可以被Git管理。每个文件的增删改查,Git都能跟踪,一边任何时刻可以追踪历史,或者在将来某个时刻可以“还原”、“回滚”

    1.创建一个版本库非常简单,首先,选择一个合适的地方创建一个空目录:

    $ mkdir learngit

    $ cd learngit

    $ pwd

    /Users/michael/learngit

    Pwd是用来显示当前目录

    Windows的话,确保路径不含中文

    2.通过git init命令把这个目录变成Git可以管理的仓库:

    $ git initInitialized empty Git repository in /Users/michael/learngit/.git/

    接着会提示你已经创建了一个空的版本库。文件夹中会出现一个.Git的目录,这个目录是来跟踪管理版本库的,不要手动修改这个目录里的文件,如果没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令即可查看。

    3.把文件添加到版本库中

    首先说明一点,所有的版本控制系统,其实只能跟踪文本文件的改动,比如txt、网页、程序源码等。版本控制系统只可以告诉每次的改动,无法跟踪二进制文件的变化。所以图片、视频、word格式的文件的变化都没办法跟踪。如果真正要使用版本控制系统,就要以纯文本方式编写文件。强烈建议,文本文件使用标准的UTF-8编码,可以被所有平台支持。

    对于windows用户,不要使用微软自带记事本。尽量下载notepad++代替记事本。默认编码格式选择UTF-8 without BOM

    好了,现在写一个readme.txt放入git文件夹中。输入命令git add,将文件添加到仓库。

    $ git add readme.txt

    接着用git commit命令告诉Git,把文件提交到仓库

    $ git commit -m "wrote a readme file"

    [master (root-commit) eaadf4e] wrote a readme file

     1 file changed, 2 insertions(+)

     create mode 100644 readme.txt

    “”中包括的内容可以输入任意内容,但最好有意义,因为这样就可以在历史记录里方便的找到改动记录。这输入的是本次提交的说明。

    如果执行成功,命令行显示

     1 file changed, 2 insertions(+)

    一个文件已经改动,其中添加了两行内容。

    为什么git添加文件需要add、commit两个步骤呢?

    Commit可以一次提交很多文件,所以你可以多次add不同文件

    $ git add file1.txt

    $ git add file2.txt file3.txt

    $ git commit -m "add 3 files."

    总结:

    初始化git仓库:Git init

    添加文件到仓库:git add  git commit -m“”

    相关文章

      网友评论

          本文标题:第二章 初识Git

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