团队开发的核心是版本控制。
缺陷管理--问题驱动开发
持续集成--反复集成和测试
百度 git 阮一峰
Git 工作流程
http://www.ruanyifeng.com/blog/2015/12/git-workflow.html
常用 Git 命令清单
http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
Git远程操作详解
http://www.ruanyifeng.com/blog/2014/06/git_remote.html
版本控制历史
锁定模式-不利于团队开发
1990年--CVS
1992年--ClearCase
1994年--VSS
合并模式
2000年--Subversion
2005年--Git--分布式版本系统
Mercury--python编译
Git分支管理策略:
-git-flow
-github-flow 常用型
-gitlab-flow
gitee.com ---->公司内部私服(gitlab)
使用github-flow策略管理团队开发代码流程准备工作(远程代码仓库操作)
1、创建新仓库
2、修改.gitignore文件(公共文件,一般由组长负责)
3、将master分支设置为保护分支
4、添加团队成员
5、部署公钥(免密访问)
创建密钥对流程(linux系统)
ssh-keygen 创建密钥对
ssh-keygen --help 查看创建密钥对的帮助信息
cd .ssh 切换至密钥文件夹(打开公钥文件,将公钥传至github或者gitee代码保管中心的密钥相关配置,即可实现免密pull和pash功能)
github-flow分支管理策略的实施
本地操作
1、从仓库克隆项目到本机
git clone https://gitee.com/sharkkim/design.git
2、创建并切换到自己的分支
git branch 分支名 ——创建分支
git checkout 分支名 ——切换分支
或者
git checkout -b 分支名 ——创建并切换分支
touch hello.py 创建新文件
3、本地实施控制
git status ——查看工作区和暂存区文件状态(重要命令)
git add 文件名—— 从工作区添加或更新文件到暂存区
git add . —— 将工作区所有文件更新至暂存区
git reset HEAD 文件名—— 从暂存区移除文件
git checkout -- 文件名—— 从暂存区更新文件到工作区
git commit -m ‘提交注释’ ——从暂存区添加文件到仓库
git log --pretty=oneline --graph --abbrev-commit ——查看日志
git tag -a v0.1 哈希值 —— 为某个版本打上 v0.1 的标签
4、推送分支到服务器
git push origin 分支名—— 将自己的分支推送到服务器上
5、在线上发起Pull Request(合并请求)
请求合并自己的工作成果到master分支 ---无合并冲突
如果有合并冲突,无法自动合并,那么就应该通过下面的方式解决冲突
(1)先将服务器上最新版本pull到本地
git pull origin master
(git pull相当于两条命令:
a、git fetch-将服务器上的代码下载到本地;
b、git merge-将下载的代码合并到当前分支)
git合并代码时有两种选择
git merge 其他分支 - 历史记录会看到所有合并过的分支
git rebase 其他分支 -合并之后历史记录是扁平化的
下载更新本地代码的两种方法:
a、git pull =git fetch +git merge
b、git fetch+(git diff)+git rebase
(2)可以通过git diff查看哪些地方是有冲突的。然后一定是人与人当面沟通确定保留谁的版本
查看冲突的文件并解决冲突(文件中有标记)
(3)解决冲突后重复执行第3步、第4步即可
网友评论