git 入门教程之本地仓库

作者: 雪之梦技术驿站 | 来源:发表于2019-03-11 11:09 被阅读3次

本地仓库

背景

创建工作目录

平时工作时我们习惯对文档分门别类进行管理,.doc .txt 等文本类型的文件习惯存在 doc文件下,开发java js 等源代码文件存在在 src 目录下,这一点很好理解,那么讲解 git的项目我们也要创建一个文件夹,姑且新建一个demo的文件夹吧!

# 在工作空间创建指定目录
mkdir demo

# 切换至工作目录
cd 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 当然也能够管理二进制文件,对于文本文件的追踪,可以细粒度到哪个文件在哪一行发生了哪些变化,而二进制文件只能粗粒度知道哪个文件变化了,并不知道具体变化.

不幸的是,MicrosoftWord格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的,前面我们举的例子只是为了演示,如果要真正使用版本控制系统,就要以纯文本方式编写文件.

因为文本是有编码的,比如中文有常用的GBK编码,日文有Shift_JIS编码,如果没有历史遗留问题,强烈建议使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持.

言归正传,现在我们在demo 目录下创建一个test.txt 演示文件,内容如下git test

# 创建新文件
touch test.txt

# 编辑新文件,输入 git test
echo "git test" > test.txt

接下来我们还需要两步操作才能将test.txt纳入git管理:

第一步,使用git add <file> 命令将文件添加到本地仓库:

# 添加到本地仓库: 第一步指定要添加的文件
git add test.txt

第二步,使用git commit -m <message> 命令将文件提交到本地仓库:

# 添加到本地仓库: 第二步指定添加文件备注
git commit -m "add test.txt"

经过上述两步操作,test.txt 文件已经纳入到版本控制中了,这里你可能会有疑问了为什么需要add commit两步呢?
因为commit 可以一次性提交很多文件,所以你可以多次add不同的文件,比如:

# 创建三个文件file1.txt file2.txt file3.txt
touch file1.txt file2.txt file3.txt

# 添加一个文件file1.txt
git add file1.txt

# 添加两个文件file2.txt file3.txt
git add file2.txt file3.txt

# 一次性提交全部文件
git commit -m "add 3 files."

小结

  • 初始化本地仓库 git init
  • 添加文件到本地仓库分两步 git add <file>git commit -m <message>
  • 实际工作中,大致以下流程
# 在工作空间创建指定目录
mkdir demo

# 切换至工作目录
cd demo

# 初始化本地仓库
git init 

# 创建新文件
touch test.txt

# 编辑新文件,输入 git test
echo "git test" > test.txt

# 添加到本地仓库: 第一步指定要添加的文件
git add test.txt

# 添加到本地仓库: 第二步指定添加文件备注
git commit -m "add test.txt"

...

# 继续编辑目标文件,追加 git init
echo "git init" >> test.txt

# 将目标文件添加到本地仓库
git add test.txt

# 添加本次新增文件的备注
git commit -m "add git init"

相关文章

  • 简易的命令行入门教程

    简易的命令行入门教程:Git 全局设置: 创建 git 仓库: 已有仓库?

  • git提交代码

    简易的命令行入门教程: 创建 git 仓库: 已有仓库?

  • git最简单使用方法

    简易的命令行入门教程: Git 全局设置: 创建 git 仓库: 已有项目?

  • git仓库配置步骤

    简易的命令行入门教程: 一、创建的新库 1.Git 全局设置: 创建 git 仓库: 二、已有仓库

  • git文件提交命令

    简易的命令行入门教程:Git 全局设置: 创建 git 仓库: 下载远程文件 已有项目?

  • git 入门教程之本地仓库

    本地仓库 背景 创建工作目录 平时工作时我们习惯对文档分门别类进行管理,.doc .txt 等文本类型的文件习惯存...

  • git 命令总结

    简易的命令行入门教程 Git 全局设置 创建 git 仓库: 建立默认分支 执行了 commit 之后,会自动创建...

  • 一些git命令记录

    git 分布式版本控制系统 简易的命令行入门教程: 创建 git 仓库: 将已有项目关联上传远程库 Git 全局设...

  • Git学习笔记

    写在前面: 建议大家可以先去看详细的入门教程,然后通过该笔记来复习整理。 初始化git仓库:git init 添加...

  • git 入门教程之本地和远程仓库的本质

    本地仓库和远程仓库在本质上没有太大区别,只不过一个是本地电脑,一个是远程电脑. 远程仓库不一定非得是 github...

网友评论

    本文标题:git 入门教程之本地仓库

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