Git代码管理
2017-07-17 20:22
106 查看
Git代码管理
Git代码管理 之我见:1、GIT简介
2、GIT常见指令
3、GIT代码规范
4、功能开发
5、BUG修复
6、代码提交
7、Git merge/git rebase
8、代码评审
9、其他有效指令
10、问题
11、总结
1、GIT简介
Git是目前世界上最先进的分布式版本控制系统,每个电脑上都是完整的版本,如果多人协作开发,只要推送各自的修改就行 —— [链接 ]集中式版本控制系统特点:版本集中存放在中央服务器,使用的时候先down,改完再提交。如:SVN
优点
1. 简单的设计
2. 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
3. 完全分布式
4. 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
5. 有效方便全面的分布式代码管理
2、GIT常见指令
1.生存密钥: ssh-keygen -t rsa -C “xxxxx@163.com”2.获取源码: git clone git@github.com:xxxx/proxy.git
3.索引:git add
4.提交:git commit
5.推送本地更新到远程: git push origin master
6.更新远程更新到本地: git pull origin mas
7.暂存:git stash
8.下载远程分支: git pull –rebase
3、GIT代码规范
Master主分支
Hotfix 分支作为紧急修复,基于 master
Tag主分支发布版本,又称Release
Develop 是开发中阶段的代码
Feature 分支用于功能的开发分支,基于 develop
Fix 分支用于修复 BUG 的开发分支,基于 develop
4、功能开发
Commit1: 1.git add –a 2.git commit -m
Commit2: 1.git add –a 2.git commit -m/-amend
注意:合并前:1.Git checkout develop 2. git pull –rebase develop 3. git checkout feature 4.git rebase develop
5、BUG修复
fix/xxx-xxx (命名一个 develop 线上的修复)
hotfix/xxx-xxx (命名一个 master 线上的修复)
注意:合并fix:1.Git merge 2.git tag 3. git rebase develop
6、代码提交
Merge提交详细详细:[类型] +[#TASK]+ 标题类型有以下几种:
FEATURE: 功能开发 + [#TASK] + xxx(功能名称)
FIX: 普通 BUG 修复 + [#TASK] + xxx(BUG 名称)
HOTFIX:线上 BUG 修复 + [#TASK] +xxx(BUG 名称)
UPDATE:优化和重构 + [#TASK] + xxx(优化、重构名称)
DOC:文档描述 + [#TASK] + xxx(文档名称)
RELEASE: 此次包的所有更新 + [#TASK] + xxx(版本编号)
如:
[FEATURE] [#1] OpenApm Hbase优化
1、 HbaseProxy 新增消息队列功能
2、 HbaseProxy 新增同步处理功能
3、xxx
7、Git merge/git rebase
原始节点:Git rebase:
–rebase的本意是想让事情的发展看起来很连续和优美,而不是多出很多无用的merge commit 。
Git merge:
总结:如果你想要保存项目完整的历史,并且避免重写公共分支上的commit, 你可以使用 git merge;
如果你想要一个干净的、线性的提交历史,没有不必要的合并提交,你应该使用 git rebase
如:主分支合并到开发分支用rebase,开发分支合并到主分支用merge;
8、代码评审
arc diff:是用来提交代码审核片段的,例如在 develop 开出了新的分支 feature/test,在这个分支上写了相应的代码,
并且使用了 commit 进行了提交。
随后这个代码需要交给他人进行审核
arc land : 将审核通过的代码合并到develop
参考: Phabricator 功能: http://www.jianshu.com/p/b5514474d079
https://github.com/phacility
9、其他有效指令
git mgere/ git merge –-no-ff/git mereg – squash: fast-forward/保留分支的commit历史/commit历史压缩为一次git reset –soft xxx: 切换到摸个版本
git checkout -b branch_name tag_name 切换tag到新分支
git fetch –p :更新本地远程分支
git checkout – xxx.txt :撤销修改
git push origin –delete develop:删除远程分支
git diff: 代码比对
git push origin [tagname]: push单个tag,命令格式为
10、问题
1.如何同步进行 项目重构和 新功能开发如下图所示解决问题:
2.如何同时管理 git仓库 和 fork镜像仓库
如下图所示解决问题:
11、总结
要把git全部掌握,请各个牢记下图如有疑问请联系一下邮件:niyuelin1990@163.com
相关文章推荐
- android开发,如何使用git托管代码,如何在android studio上使用git管理代码
- scgit管理代码 .java file should not have carriage returns (DOS line endings);Please merge (or rebase) th
- 【转】Git连接oschina管理代码版本
- 使用 Git 来管理 Xcode 中的代码片段
- 在windows 上使用git 管理github代码
- git建立本地的代码版本管理
- wghd的git代码仓库分支管理说明【转】
- 代码管理_Git中获取两个标签之间的变更代码行数
- MyEclipse的SVN插件具有Git代码管理功能
- Python——代码版本管理-Git和GitHub
- 使用Git进行代码管理操作
- 百度云网盘 360云盘 金山快盘 等 + Git GUI 实现代码版本管理-个人篇
- 项目管理---git----快速使用git笔记(七)------coding.net项目管理多人操作的流程规范--合并代码审核
- 在TFS中使用Git Tags(标签或标记),实现代码的版本管理
- Git 代码管理常用命令
- 代码管理 ,git 命令整理
- 我为什么推荐你使用 Android Studio 的 Git 工具去管理你的代码
- Git管理本地代码(二)
- 阿里云centos和本地windows实现git代码管理(github仓储)
- Git代码分支管理在项目中的实践