今天是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. c#提交事务的两种方法

    1. using (TransactionScope ts = new TransactionScope()) { 除非显示调用ts.Complete()方法.否则,系统不会自动提交这个事务.如果在代 ...

  2. 【转】 微软在.NET官网上线.NET 架构指南

    原文地址:http://www.cnblogs.com/shanyou/p/6676357.html. 微软在Visual Studio 2017 正式发布的时候也上线了一个参考应用https://g ...

  3. linux mailbox模型

    一.device tree中的写法 二. mailbox框架 (driver/mailbox/mailbox.c) struct mbox_controller { struct device *de ...

  4. VS2017中的nuget还原失败或超时的解决方案

    把nuget源地址修改为

  5. mysql的必知技巧

    1.使用联合索引可以大大减少查询数据,联合索引的顺序尽量为查询的顺序

  6. Red and Black---POJ - 1979

    There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A ...

  7. Reactjs组件中的方法为什么绑定this?

    前言:Reactjs中的定义的方法其实是基于实例的原型方法:es6默认严格模式   问题:在Reactjs组件中写入以下代码,那么执行结果会是什么呢? ··· 结果是这样的: 对的,你没看错,不是do ...

  8. ueditorUE 去掉本地保存成功的提示框!

    网上修改什么JS的太麻烦,这样比较暴力,仅供参考 这里直接修改的样式: ue.ready(function () {                 $(".edui-editor-mess ...

  9. 【分享】【原创开源应用第4期】给ili9488,RA8875类显示屏的emWin底层增加DMA加速方案

    说明:1.emWin底层中最重要的一个优化就是16bpp绘制,特此为其增加DMA加速,已经支持RA8875和ili9488.2.使用中务必将emWin任务设置为除了空闲任务,统计任务以外的最低优先级, ...

  10. Java互联网架构-直播互动平台高并发分布式架构应用设计

    概述 网页HTML 静态化: 其实大家都知道网页静态化,效率最高,消耗最小的就是纯静态化的 html 页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法, ...