“有了远程仓库,妈妈再也不用担心我的硬盘了。”——Git点读机
概述
工作区有一个隐藏目录.git,这个不算工作区,而是Git的暂存区和版本库。
前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
git commit只负责把暂存区的修改提交.因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。
配置用户信息
1 | # --global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用。 |
常用操作
1 | #查看状态 |
分支管理
1 | # Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。 |
一些远程同步的规范:
- master分支是主分支,因此要时刻与远程同步;
- dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
- bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
- feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
多人协作的工作模式:
- 首先,可以试图用git push origin branch-name推送自己的修改;
- 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
- 如果合并有冲突,则解决冲突,并在本地提交;
- 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
复制当前Git仓库创建一个完全独立的Git仓库,完成了之后,可以发起pull request来为官方Git库贡献代码
添加忽略
根目录下添加1
2
3
4
5
6
7
8
9
10
11
12
13* https://github.com/github/gitignore
* https://www.gitignore.io/api/jetbrains
忽略文件的原则是:
1. 忽略操作系统自动生成的文件,比如缩略图等;
2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要进版本库,比如Java编译产生的.class文件;
3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
相关命令:
```sh
# 与之对应的忽略文件行
git check-ignore -v App.class
# 强制添加
git add -f App.class
参考资料
廖雪峰的Git教程
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000