今天是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. Oracle ctl模版

    将txt数据装载到数据库 数据无”” LOAD DATA CHARACTER-SET ZHS16GBK truncate into table a FIELDS TERMINATED BY ‘,’ T ...

  2. 使用bootstrap本机调试时,应该使用本地服务器地址访问,如http://192.168.19.112/rjshop/,否则360浏览器会出现不兼容的情况

    使用bootstrap本机调试时,应该使用本地服务器地址访问,如http://192.168.19.112/rjshop/,否则360浏览器会出现不兼容的情况

  3. Egret的容器--删除对象,遮罩

    class P91F extends egret.Sprite { public constructor() { super(); this.addEventListener(egret.Event. ...

  4. Ubuntu wpa 代替network-manager

    1. Ubuntu启动时,如果出现60秒等待:Waiting up to 60 seconds for network configuration 解决方法: a. /etc/init ,打开fail ...

  5. KindEditor富文本编辑器, 从客户端中检测到有潜在危险的 Request.Form 值

    在用富文本编辑器时经常会遇到的问题是asp.net报的”检测到有潜在危险的 Request.Form 值“一般的解法是在aspx页面   page  标签中加上 validaterequest='fa ...

  6. Firefox 的兼容问题

    Firefox (火狐) 坑 一, css 文本溢出省略号 单行 :  overflow:hidden; text-overflow:ellipsis; white-space:nowrap 多行 : ...

  7. python获取多线程的返回值

    import threading class MyThread(threading.Thread): def __init__(self,func,args=()): super(MyThread,s ...

  8. .htaccess 文件 访问二级域名 对应的 指定文件夹

    <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # 绑定m.xxx.cc 到子目录m RewriteCond %{HTTP_ ...

  9. yum出现Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile解决方法

    yum出现Could not retrieve mirrorlist解决方法 Loaded plugins: fastestmirror, securityLoading mirror speeds ...

  10. DataRow[]

    datarow[]是datatable 的行数组集合,但是呢好像是不能直接初始化,只能是datarow[] rows = dt.select(condition);这样子.(也可能我才疏学浅没找到吧) ...