痞子衡
认证:普通会员
所在专题目录 查看专题
第一本Git命令教程(1) - 准备
第一本Git命令教程(3) - 变动
第一本Git命令教程(4) - 转移
第一本Git命令教程(5) - 提交
第一本Git命令教程(6) - 日志
第一本Git命令教程(2) - 连接
作者动态 更多
复合数据类型在C/C++下混合编译注意事项
3小时前
加了ECC保护之后的运存性能有何影响?
1星期前
第一本Git命令教程(2) - 连接
3星期前
MCU里硬件CRC对数据长度对齐有要求?
11-26 11:14
为什么DCP硬件引擎做Hash校验偶尔会失败?
11-21 09:26

第一本Git命令教程(1) - 准备

今天是Git系列课程第一课,痞子衡给大家要讲的是创建仓库的准备工作。

1.建仓库git init

第一步是创建一个空仓库,这是一切操作的前提。

// 打开git bash命令行,切换到指定目录下
jay@pc MINGW64 /
$ cd /d/my_project/

// 在指定目录下创建存放repo的文件夹,示例为gittest
jay@pc MINGW64 /d/my_project
$ mkdir gittest

// 切换到gittest目录下
jay@pc MINGW64 /d/my_project
$ cd gittest/

// 使用git init命令创建一个空仓库
jay@pc MINGW64 /d/my_project/gittest
$ git init

Initialized empty Git repository in D:/my_project/gittest/.git/

空仓库创建完成后gittest文件夹下会生成一个.git隐藏文件夹。仓库默认包含一个主支,即master,默认操作都是在主分支master上进行的。

2.配置仓库信息git config

有了空仓库,我们便可以进行后续提交操作,但在提交之后需要做一些必要配置,Git的配置从上到下分三层system/global/local,此处我们仅用local选项对当前仓库操作做配置(即配置只对当前仓库有效)。

// 设置提交代码时的local用户信息(用户名,email地址)
jay@pc MINGW64 /d/my_project/gittest (master)
$ git config --local user.name "Jay Heng"

jay@pc MINGW64 /d/my_project/gittest (master)
$ git config --local user.email "hengjie1989@foxmail.com"

// 查看local层次的config参数配置是否生效
jay@pc MINGW64 /d/my_project/gittest (master)
$ git config --local --list

core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
user.name=Jay Heng
user.email=hengjie1989@foxmail.com

设置好user.name, user.email两个必要用户信息后,后续任何提交都会默认包含此用户信息。

3.设置过滤文件.gitignore

有了仓库,我们便可以在gittest文件夹下的工作区做文件增删修改工作了,但很多时候,我们只在意开发过程中的源文件,并不需要管理自动产生的其他临时文件。这时候我们便需要一个过滤文件,在这个文件中设置过滤规则,让Git能够自动过滤掉那些临时文件,这个文件便是.gitignore文件。

// 创建空的gitignore文件
jay@pc MINGW64 /d/my_project/gittest (master)
$ touch .gitignore

// 文本编辑器打开gitignore文件,写入过滤规则

/project/demo.o       #过滤具体文件demo.o
/project/settings/    #过滤整个settings文件夹
*.o                   #过滤所有.o文件

 上面仅列举了3种常用的过滤规则,可根据下面的过滤配置语法组合出任意你想要的过滤规则。

以斜杠“/”开头表示目录

以星号“*”通配多个字符

以问号“?”通配单个字符

以方括号“[]”包含单个字符的匹配列表

以叹号“!”表示不忽略(跟踪)匹配到的文件或目录

如果希望设置的过滤规则不仅仅对本地仓库的操作有效,也希望对其他机器上该仓库的操作有效,可以.gitignore提交到仓库中并且推送到远程,提交及推送操作后续会介绍。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 1
收藏 3
关注 41
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧