第二章 初识Git

第二章 初识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“”

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,298评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,701评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,078评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,687评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,018评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,410评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,729评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,412评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,124评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,379评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,903评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,268评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,894评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,014评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,770评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,435评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,312评论 2 260

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,580评论 4 54
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,404评论 9 163
  • 无论生活多么平淡,我们都要拥有一颗丰富的心灵,善于发现生活中的光芒与美好。你爱万物,万物也会爱你,生活中其实不缺美...
    张炳华1阅读 212评论 0 0
  • 你知道吗? 其实每个人眼中的世界都是不一样的, 就算我们看到的本质上是同一个世界。 为什么? 因为我们感受到的光是...
    东谋某阅读 131评论 0 0
  • 五一期间从深圳租了个smart自驾游广东分别拜访了东莞的堂叔、广州的舅舅们--三个舅舅在广州从事纺织工种。 以前经...
    Parker盘继松阅读 256评论 0 1