Git & GitHub踩坑小记
写在前面
本随笔作为本人使用Git以及Github踩坑的使用参考,会随我的使用不定期更新,让大家贱笑啦!
.gitignore
.gitignore
文件是Git的忽略提交规则,我们一般用它来忽略编译过程产生的中间文件、日志、以及比较重要,涉及隐私,不能放在远程仓库上的一些文件,以及mac下万恶的DS_Store
文件以及win的Desktop.ini
文件。
进行忽略提交的原则如下:
- 忽略操作系统自动生成的文件;
- 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的
.class
文件; - 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
在GitHub Desktop以及网页端这两个GUI下,新建仓库时可选择自动生成的规则,并有大量模板(根据语言选择,js选择npm)。在此基础上可以自定义。
注意,.gitingore
文件中每一行指定一个忽略规则,git
对.gitignore
文件是按行从上至下进行规则匹配,且多个gitignore
规则的优先级从高到低依次如下:
- 命令行中的忽略规则(提交时输入)
- 当前目录下的忽略规则
- 父目录下的忽略规则
$GIT_DIR/info/exclude
目录下的忽略规则core.excludesfile
中的忽略规则
.gitignore
语法如下
符号 | 功能 |
---|---|
/ |
表示目录 |
* |
匹配多个字符(包括空串) |
? |
匹配单个字符 |
[] |
匹配单个字符列表 |
! |
不忽略 |
# |
注释本行 |
Git 错误代码1
当我在重新提交项目时,出现如下错误提示
Git Commit failed - exit code 1 received
那么,遇到这种情况,是因为之前在这个文件夹是之前仓库的一个文件夹。在GitHub上删除了仓库,但是本地的配置文件没有被删除。重复提交就会产生这个错误。
解决方法是删除目录下隐藏文件夹.git
。在win系统下,在显示中勾选隐藏的项目即可;在macOS系统下,使用快捷键shift+command+.即可显示隐藏的文件夹并删除
另外,在macOS的访达中,虽然可以用组合键shift+command+G显示当前路径,但是还是比较麻烦(虽然我在Catalina中知道可以在下边栏显示路径,但是这个位置一言难尽),于是可以在终端使用
defaults write com.apple.finder _FXShowPosixPathInTitle -bool TRUE;killall Finder
这一条命令开启在访达上方的标签栏显示当前路径了,484很方便?嘻嘻嘻
Wir müssen wissen, wir werden wissen