团队git使用指南
来源:互联网 发布:芭蕾练功服推荐 知乎 编辑:程序博客网 时间:2024/06/16 05:57
1、概括
使用git进行项目管理和开发,一般情况下,会在服务端(origin)创建一个仓库进行代码的管理,仓库会维护三大块分支。
1. master分支:只有一个,作为主分支
dev分支:项目当前版本的开发分支,程序员会基于此分支 来切 本地分支,进行开发。
其它版本的分支:项目每个版本,在开发测试完成后,最终的稳定代码。每当一个版本的开发测试完成后,都会将当前版本的稳定代码合并到master分支。
假如在开发当前版本时,发现dev7.0.0版本线上出现了bug。此时,就可以基于dev7.0.0分支,进行修复,这是维护其它版本分支最大的好处。
2、使用(前提是安装了git软件,并且配置了ssh)
配置ssh的好处就是,本地向服务器push代码时就不用总是填写用户名和密码了!
$ git clone <版本库的网址>
该命令会在本地生成一个目录,与origin的版本库同名,目录下面包含 .git文件(默认是隐藏的),和服务器上master分支的代码(也有可能没有,因为master分支上一般没有权限获取);要注意此时是在master分支上的,可以使用 $ git branch 命令查看! 但是我们是要切dev分支上的代码!
$ git checkout dev
该命令是将本地版本库(local)切换到dev分支(前提 是origin上已存在dev分支),建立local与origin对应分支.此分支可以直接与origin对应分支进行通信。如执行代码的上传(push)和更新(pull)操作. ps(也可以使用 $ git checkout -b dev origin/dev命令代替)
$ git pull
该命令将origin/dev分支上的代码,pull或更新到local/dev 分支上。如果项目有依赖工程,使用$ git clone <版本库的网址>命令下载到本地
$ git checkout – b local
该命令,基于dev分支,创建新分支 local,并切换到 local分支,一定要创建新分支进行开发,决不能基于本地dev分支开发,最后就可以将代码导入开发工具了!此时执行 $ git branch 命令应该可以看到 dev 和local 两个分支。
代码提交
分析:如果一切正常,我们目前应该是在基于本地dev分支基础上创建的local分支上,前面已经说过,本地只有dev分支才能与服务器dev分支进行通信,执行代码的pull和push操作。那么我们要做的就是 将 local分支上的代码,提交到本地dev分支上,之后切换到dev分支,执行push命令,就ok了!!
提示:定位到项目的根目录(带.git的文件夹下),鼠标右击,点击“git Bash”,弹出命令框!!
$ git status
此命令可以查看当前分支上有哪些文件改动了,建议首先执行一下,查看改动的文件,避免提交不需要提交的文件。如果想恢复改动的文件,执行 $ git checkout — 文件路径/文件名 。
$git add .
改命令将分支上改动的文件(即工作区改动文件),添加到暂存区
$ git commit -m “修改说明”
将暂存区的文件提交到版本库(我的理解这个版本库在这里应该指的是本地dev分支)
$ git checkout dev
切换到本地dev分支
$ git pull
该命令将origin/dev分支上的代码,更新到local/dev 分支上。
$ git checkout local
该命令切换到本地local分支
$ git rebase dev
该命令将 dev分支上的最新代码,合并到 本地local分支上。此时很可能会遇到文件冲突的问题,需要到冲突所在的文件下手动修改,修改好后,执行
$ git push origin head:refs/for/dev
此命令将本地local分支上修改的代码提交到服务器上。
四、总结
以上,就是在公司实际开发中,开发人员所必经的一套简单基础完整的git工作流程。当然,这些只是在一切正常的情况下,git的强大之处远不止这些
- 团队git使用指南
- Git 使用指南
- Git使用指南
- Git使用指南
- git使用指南
- git使用指南
- Git使用指南
- Git使用指南
- GIT使用指南
- Git使用指南
- Git使用指南
- git使用指南
- git使用指南
- git 使用指南
- GIT使用指南
- Git使用指南
- git 使用指南
- git-使用指南
- ubuntu 14.04安装codeblocks
- JQuery基本的知识
- VTK重切
- 一种RESTful接口的约定
- Tip9 习惯重载运算符
- 团队git使用指南
- Codeforces 835C Star sky【思维+暴力预处理二维前缀和】
- Leetcode 600 Non-negative Integers without Consecutive Ones
- Hibernate与Mybatis的对比
- 线段树+平衡树(STL) 勤快的love 枫
- NOI同步赛体验记(Day 2)
- 统计一个数中含有1的个数的不同方法
- 博文推荐
- 顺时针打印矩阵