Git
推荐软件
Git与SVN
SVN | Git |
---|---|
集中式 | 分布式 |
- 集中式与分布式
- 网络
- 集中式版本控制:中心所有事件都需要访问中央服务器
- 分布式版本控制:在离线状态下可以看到所有的Log
- 安全性
- 集中式版本控制:中央服务器崩溃所有人无法提交代码
- 分布式版本控制:提交本地版本库,分布式中任何两个主机都可以当做“中央服务器”
- 分支
- 集中式版本控制:复制一份代码和日志记录
- 分布式版本控制:获取文件的每个版本的元素,然后只载入主要的分支(master
- 本地分支
- 集中式版本控制:无法创建
- 分布式版本控制:方便创建本地分支,本地代码
- 网络
概念
- 工作区
- 你当前的文件夹目录
- 版本库
- 工作区有一个隐藏目录.git,记录着版本信息
- 暂存区
- 版本库中的stage,记录着当前修改且暂未提交本地版本库的代码
常用规范
- 主分支
- 负责发包,一般不直接提交代码到该分支
- 开发分支
- 负责开发流程
- 定时提交自己模块的代码
- 提交代码写备注
工作流程
参考 http://www.ruanyifeng.com/blog/2015/12/git-workflow.html
- Git flow
- Github flow
- Gitlab flow
Git flow
- 创建或者获取git
- 提交代码
- 暂存自己代码
- 写备注、提交到本地版本库
- 拉取“中央服务器”的版本
- 解决冲突(如果有冲突)
- 提交到“中央服务器”(如果想提交到主分支)
- 切换分支
- 检出
- 双击
- 分支操作
- 创建分支
- 点击分支,选择版本,创建分支
- 合并分支
- 创建分支
疑问
获取与拉取的区别
http://www.yiibai.com/git/git_fetch.html
生成公钥和私钥
http://blog.csdn.net/hustpzb/article/details/8230454/