git 入门教程之创建本地仓库
实战 git
git 是一款分布式版本控制系统,可以简单概括: 不要把鸡蛋放在一个篮子里,你的一举一动都在监视中.
实战场景
你作为某项目的其中一员或者负责人,和小伙伴们一起开发,大家既有着各自分工互不干扰,也有着相互合作,最终每个人的劳动成果汇聚成最后的项目,愉快完成项目!
要求
理解 git 的工作流程,懂得实际工作中如何交流合作掌握 git 常用操作,工具为我所有,进而提高工作效率独当一面,最好能够独自解决使用git 过程中遇到的问题主动分享经验,能够教会别人如何使用 git 更上一层楼推荐
最好的教程在官网 git 官网在线练习常用操作 Learning Git Branching廖雪峰的官方网站 git教程
本地仓库
背景
创建工作目录
平时工作时我们习惯对文档分门别类进行管理,.doc.txt 等文本类型的文件习惯存在 doc文件下,开发javajs 等源代码文件存在在 src 目录下,这一点很好理解,那么讲解 git的项目我们也要创建一个文件夹,姑且新建一个demo的文件夹吧!
mkdir demo
创建本地仓库
既然已经创建了工作文件夹,那么我们自然是希望该文件下的所有文件都能被 git 管理,也就是说在当前文件下的创建新文件,修改原文件内容或者删除文件等操作都能纳入版本控制中,不然为什么要用git 呢?
下面这个命令就是告诉git 这个 demo 目录要纳入版本控制了.
git init
一旦运行git init 命令,细心的读者可能会发现在原来的 demo 目录下多了.git隐藏文件,正因如此,原来被我们称为工作目录的 demo 才能纳入版本控制,我们将.git目录称之为版本库.
由于当前项目 demo 只在我们自己电脑上,其他人无法访问,所以我们称这种形式的版本库为本地仓库.
添加文件到版本库
首先明确的是,所有的版本控制系统只能追踪文本文件的改动,文本文件就是平常熟悉的.txt.html.js.css.java.xml等等文件,非文本文件的其他格式有哪些?例如二进制文件,像我们平时听音乐的.mp3,看视频的.mp4,浏览图片的.png等这些都是二进制文件,需要专门的软件才能正常打开,不信的话,你用记事本看看能不能打开视频?
了解文本文件和二进制文件的区别,那是不是说二进制文件没法进行版本控制了,刚才你不是还说demo 目录下的所有文件吗?这不是自相矛盾吗!
非也非也,git 当然也能够管理二进制文件,对于文本文件的追踪,可以细粒度到哪个文件在哪一行发生了哪些变化,而二进制文件只能粗粒度知道哪个文件变化了,并不知道具体变化.
不幸的是,Microsoft 的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的,前面我们举的例子只是为了演示,如果要真正使用版本控制系统,就要以纯文本方式编写文件.
因为文本是有编码的,比如中文有常用的GBK编码,日文有Shift_JIS编码,如果没有历史遗留问题,强烈建议使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持.
言归正传,现在我们在demo 目录下创建一个test.txt 演示文件,内容如下git test
touch test.txt
接下来我们还需要两步操作才能将test.txt纳入git管理:
第一步,使用git add
git add test.txt
第二步,使用git commit -m
git commit
经过上述两步操作,test.txt 文件已经纳入到版本控制中了,这里你可能会有疑问了为什么需要addcommit两步呢?因为commit 可以一次性提交很多文件,所以你可以多次add不同的文件,比如:
git add | git commit
小结
初始化本地仓库 git init添加文件到本地仓库分两步 git add
整体回顾