第三章 git安装与创建仓库

一,安装

前文所述,Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上运行。

不过由于git强大,好用,所以慢慢地有人把它移植到了其他平台上。

现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行。


严格来说,git的安装要区分平台,比如linux安装,mac安装和Windows安装。

我个人未来一段时间主力使用ubuntu,所以只记录ubuntu 16.04下的安装方式。


安装非常简单,使用sudo apt install git

在一些网络资料上会写 install git-core,这又是什么意思呢?


因为以前有个软件也叫GIT(GNU Interactive Tools),为了不重名,Git就只能叫git-core了。

后来由于Git名气越来越大,干脆就把GNU Interactive Tools改成gnuit,git-core正式改为git。

现在我们只需要install git即可。


安装完成后,还需要在终端输入:

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

这一步骤必须完成,且非常重要。

它目的在于告诉git系统,将来谁修改的文件,以便和其他人协同工作。

每次git提交时都会引用这两条信息,会随着更新内容一起被永久纳入历史记录。


 

注意git config命令的--global参数,用了这个参数,表明以后你这台电脑上所有的项目都会默认使用该信息。

信息存放文件为:~/.gitconfig

如果要在某个特定的项目中使用其他名字或者邮件,去掉--global参数重置配置即可。

此时信息存放文件为:  当前项目下.git/config

 

二,创建仓库

我们学习git的目的就是为了高效管理项目,抛弃掉过去那种费时费力的落后方式。

要想让git帮我们管理项目,第一步就是创建仓库。

如何创建仓库呢?仓库又是什么呢?


仓库,英文名repository,这个概念是站在git角度来说的。

git把不同的项目当成是一个一个不同的仓库,每一个仓库(项目)里面都包含许多货物(文件)。

而站在开发者的角度来说,一个项目可能就是一个目录,该目录里包含许多文件以及子目录。


所以初学者可以把一个仓库等价于一个目录(项目)。

即仓库==项目==目录。


git并没有那么智能,它无法知道开发者想要它做什么,因此我们需要明确告诉它去管理某一个项目,这个操作就叫做创建仓库。

一旦创建好了仓库,那么这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

比如我个人想要git去管理桌面这个目录,那么首先

cd 桌面
git init

创建仓库后,该目录下会出现一个名为.git的隐藏目录。

所有git需要的数据和资源都存放在这个目录中。

 

初学者最容易踩坑地方是,在某个目录下git init后,该目录下所有文件就自动被git管理了,这是错误的

事实上,我们仅仅告诉git把该目录当成仓库,还没有开始跟踪管理仓库中任何一个文件。


要想把文件纳入版本控制,还需要git add 加入:

git add *.c
git commit –m  “init project version”

第一句git add *.c 意味着把所有c语言源文件加入控制。

第二句git commit 意味着提交到仓库,后面的-m 表明本次提交的说明,“init project version”内容是我们自己写的,作用类似代码注释。


 初学者容易踩坑的第二个地方是,跨目录随意git add,认为git会自动把文件添加好,这是错误的!

git add添加文件时,该文件必须存放于创建好的仓库里,换句话说,添加之前,文件本体或拷贝需要在该项目中。

它不像visual studio这类IDE,不支持项目内部逻辑上的文件关系。


个人总结:

① 要想让git管理哪一个项目,就在该项目的根目录中git init 创建仓库。

② 创建仓库完成后,把想要跟踪控制的文件 git add,最后git commit 提交。


为什么git的设计者不采用git init 后,自动管理该目录下所有文件的方式呢?

反而还需要手工git add 添加,再手工git commit 提交?


从技术角度说,git完全可以做到更自动化,个人觉得这恰恰印证了linux的核心理念。

“傻瓜化”,“自动化”是Windows系统的设计理念---用户完全不懂,我们帮他们拿主意。

而LINUX系统的核心理念在于---用户完全清楚他们在做什么,无需旁人额外作主。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值