痞子衡嵌入式:第一本Git命令教程(1)- 准备(init/config/.gitignore)
今天是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 initInitialized 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 --listcore.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主页、微信公众号 平台上。
微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。
最后欢迎关注痞子衡个人微信公众号【痞子衡嵌入式】,一个专注嵌入式技术的公众号,跟着痞子衡一起玩转嵌入式。



衡杰(痞子衡),目前就职于某全球顶级半导体原厂MCU系统部门,担任高级嵌入式系统应用工程师。
专栏内所有文章的转载请注明出处:http://www.cnblogs.com/henjay724/
与痞子衡进一步交流或咨询业务合作请发邮件至 hengjie1989@foxmail.com
可以关注痞子衡的Github主页 https://github.com/JayHeng,有很多好玩的嵌入式项目。
关于专栏文章有任何疑问请直接在博客下面留言,痞子衡会及时回复免费(划重点)答疑。
痞子衡邮箱已被私信挤爆,技术问题不推荐私信,坚持私信请先扫码付款(5元起步)再发。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升