关联本地和远程仓库
1. 安装git
先安装homebrew,然后通过homebrew安装git
git中clone项目有两种方式:https和ssh1
2
3
4https:不管是谁,拿到url随便clone,但是在push的时候需要验证用户名和密码
ssh:clone项目你必须是拥有者或者管理员,而且需要在clone前添加SSH Key。
SSH在push的时候,是不需要输入用户名的,如果配置SSH Key的时候设置了密码,
则需要输入密码,否则是不需要输入密码的
git中使用SSH Key的步骤:
1 | 1.检查电脑是否存在SSH Key |
2. 新建本地仓库
1 | mkdir learn-git |
3.推送到远程仓库
在github上新建一个空的仓库,默认设置
github告诉我们可以从这个仓库克隆出新的仓库,也可以把已有的本地仓库与之关联,然后把本地仓库的内容推送到github仓库上
1 | git remote add origin <server> // 将本地仓库连接到某个远程服务器 |
在执行如下操作会遇到点小问题
1 | git remote add origin https://github.com/Liuhui11/learn-git.git |
这样是因为:空仓库不能提交上去(给项目添加文件),执行如下命令即可解决
1 | touch README // 创建新文件 |
分支管理
1 | git branch dev // 创建分支 |
1. 分支管理策略
1 | master分支:稳定、仅用来发布新版本,平时不能在上面干活 |
2. bug分支
但当前工作区任务还未完成又要改bug的时候使用
1 | git stash 将当前工作现场储存起来,等以后恢复现场后继续工作 |
3. feature分支
为新功能创建分支1
git branch -D feature-vulcan 强行删除分支
4. 多人协作
1 | git remote -v 查看远程库的信息 |
工作模式:
1 | 1.试图用git push origin branch-name推送自己的修改 |
标签管理
1 | git tag v1.0 // 创建标签,默认标签是打在最新提交的commit上的 |
找到历史提交的commit id打标签:1
2
3
4
5
6
71.git log --pretty=oneline --abbrev-commit
2.git tag v1.0 commi-id
git tag -d v1.0 // 删除标签
git push origin <tagname> // 推送指定标签
git push origin --tags // 一次性推送全部尚未推送到远程的本地标签
git tag -d v0.9 & git push origin :refs/tags/v0.9 // 删除远程标签
代码管理
1. 工作区与暂存区
1 | 工作区 work |
2. 管理修改
1 | git比其他版本控制系统优秀的原因是git跟踪并管理的是修改,而非文件 |
3.提交修改
1 | git pull // 相当于是从远程获取最新版并merge到本地 |
代码回滚
1 | git log/git log --pretty=oneline // 查看commit的历史记录 |
忽略文件
忽略文件的原则:1
2
3
4
5
6
7
81. 忽略操作系统自动生成的文件,比如缩略图
2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库
3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件
比如忽略所有js文件的规则:*.js
git add -f file 强制添加文件,即使被忽略了
git check-ignore -v file 查看文件不能被提交是哪个规则写的
https://github.com/github/gitignore 在线自动生成忽略文件
练习:
1 | 忽略已经被追踪的文件 |
参考资料:按难易程度排序
https://rogerdudler.github.io/git-guide/index.zh.html git - 简明指南
https://marklodato.github.io/visual-git-guide/index-zh-cn.html 图解git
https://try.github.io/levels/1/challenges/1 git在线练习
https://git-scm.com/book/zh/v2 git必看 git入门和进深
https://segmentfault.com/q/1010000000358588 github相关资料推荐
https://git-scm.com/docs/ git官方文档