今天是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提交到仓库中并且推送到远程,提交及推送操作后续会介绍。

欢迎订阅

文章会同时发布到我的 博客园主页CSDN主页微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

痞子衡嵌入式:第一本Git命令教程(1)- 准备(init/config/.gitignore)的更多相关文章

  1. 痞子衡嵌入式:第一本Git命令教程(0)- 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家讲的是Git命令汇编,共12篇文章,循序渐进地介绍Git操作的完整过程. 在开始Git课程之前,需要先跟大家普及2个重要概念(四度空间.四种状 ...

  2. 痞子衡嵌入式:第一本Git命令教程(7.1)- 清理之缓存(stash)

    今天是Git系列课程第七课,上一课我们学会了查看Git本地历史提交,今天痞子衡要讲的是Git仓库的清理操作,一共4个命令,都是日常开发中非常实用的命令,掌握这4个命令,会让你有一种玩弄Git仓库于股掌 ...

  3. 痞子衡嵌入式:第一本Git命令教程(3)- 变动(status/diff)

    今天是Git系列课程第三课,前两课我们都是在做Git仓库准备工作,今天痞子衡要讲的是如何查看Git空间内发生的改动. 本地有了仓库,我们便可以在仓库所在目录下做文件增删改操作,为了确定改动操作的正确性 ...

  4. 痞子衡嵌入式:第一本Git命令教程(4)- 转移(add/rm/mv)

    今天是Git系列课程第四课,上一课我们在Git空间里做了一些文件改动并且知道了如何利用Git查看这些变动,今天痞子衡要讲的是将这些变动提交到Git本地仓库前的准备工作. Git仓库目录下的文件改动操作 ...

  5. 痞子衡嵌入式:第一本Git命令教程(5)- 提交(commit/format-patch/am)

    今天是Git系列课程第五课,上一课我们做了Git本地提交前的准备工作,今天痞子衡要讲的是Git本地提交操作. 当我们在仓库工作区下完成了文件增删改操作之后,并且使用git add将文件改动记录在暂存区 ...

  6. 痞子衡嵌入式:第一本Git命令教程(6)- 日志(log/reflog/gitk)

    今天是Git系列课程第六课,上一课我们学会了Git本地提交,今天痞子衡要讲的是如何查看Git本地历史提交. 当我们在仓库里做了很多次提交之后,免不了需要回看提交记录,看看自己之前的改动.有三种Git命 ...

  7. 痞子衡嵌入式:第一本Git命令教程(2)- 连接(remote/clone)

    今天是Git系列课程第二课,上一课我们已经学会在本地创建一个空仓库,痞子衡今天要讲的是如何将本地仓库与远程建立联系. 1.将本地仓库挂上远程git remote 本地建好了仓库,我们希望能够挂到远程服 ...

  8. 痞子衡嵌入式:超级下载算法RT-UFL v1.0发布,附J-Link下安装教程

    痞子衡主导的"学术"项目 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计> 历时 8 个月终于迎来了 v1.0 版发布,因为是第一个正式版,为了保证质 ...

  9. 痞子衡嵌入式:超级好用的可视化PyQt GUI构建工具(Qt Designer)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PyQt GUI构建工具Qt Designer. 痞子衡开博客至今已有好几年,一直以嵌入式开发相关主题的文章为主线,偶尔穿插一些其他技术 ...

随机推荐

  1. VB使用API进行RC4加密解密(MD5密钥)

    根据网络资料整改,来源未知,已调试通过. Option Explicit Private Declare Function CryptAcquireContext Lib "advapi32 ...

  2. 记录一种下载https网址中的mp4文件的方法

    需要下载一个网页中的视频, 页面中的视频播放器为 JW player, 通过搜索发现可以下载对应的视频. 1. 使用chrome浏览器分析 网页中的视频地址: F12或者右键-->检查, 在打开 ...

  3. Mac_Sublime Text3(mac)一些插件和快捷键

    下载地址http://www.sublimetext.com/3 一.安装Package Control 按Ctrl + ` 调出console,粘贴下列安装代码到底部命令行并回车: import u ...

  4. centos7 ping不通 name or service not known

    最近打算为centos安装一个界面时,发现不能上网.ping www.baidu.com 报name or service not known. 原来网络配置没设好. 一.选择VMWare的NAT模式 ...

  5. node05

    1.ejs: const ejs = require('ejs') ejs.renderFile('./template/a.ejs', {name:'cc'}, function (err, dat ...

  6. ckeditor+ckfinder

    官方地址:http://ckeditor.com/ 复制ckeditor和ckfinder的文件夹到项目根路径下 拷贝ckfinder的config.xml到WEB-INF下 <config&g ...

  7. spring-security权限管理学习目标

    1.SVN基本介绍: 1.svn基本的概念 2.svn架构 3.svn下载与安装 4.svn搭建与基本操作 2.svn基本操作 1.操作1 2.操作2 3.冲突产生 4.冲突解决 3.SVN在IDEA ...

  8. easyui-combotree选中指定的值

    选中根节点: //station_id为combotree控件id var station = $('#station_id').combotree('tree').tree('getRoots'); ...

  9. DOS命令(一)

    1. echo 输出内容,用来输出文字. [例如:echo hello] 2. titile 标题,用来修改标题. 3. color 背景色前景色,用来设置背景色和前景色 0 = 黑色 8 = 灰色 ...

  10. No Spring WebApplicationInitializer types detected on classpath 问题的一种解决办法

    今天在idea中编译部署工程,tomcat报了这个错误: No Spring WebApplicationInitializer types detected on classpath 导致前端页面访 ...