GIT使用小结
2016-06-30 20:00
417 查看
GIT说明
Git是目前世界上最先进的分布式版本控制系统(没有之一)。基本上做一个项目GIT已经是必备的素质了。关于GIT的好处百度一下会有一大堆,自己体会下来主要有两点:
团队协作!代码仓库的作用。这样就不用将队友写的代码拷贝来拷贝去,你在打游戏的时候,队友在写代码,写完,同步一下,就可以看见队友写了哪些东西,自己继续干活。
版本控制!这个的重要性在于你写错了可以很方便的回滚到原来的状态。当然好的习惯是,写一点就commit一下。做成一个小版本。就跟打游戏及时存档,打错了在读档一样。、
事实上,我对GIT的理解太小白了!!!!!!
GIT团队协作的一般流程
正确使用GIT的姿势是这样的:在中央仓库保存两个永久分支,master 和 develop。
master分支是发布分支,每次发布就是从master上打包发布,程序是不允许直接在master提交代码,只能通过其他分支合并到master分支。
develop分支是开发分支,当develop上得源代码达到一个稳定状态的时候就可以把develop的代码合并到master上。
除去master和develop这两个永久分支,还存在一些暂时的分支。
线上的紧急Bug需要修复,这个时候就需要创建一个hotfix分支,这个分支是从master上检出,完成修复后双向合并到master和develop上,保证develop与master代码的同步,合并完后删除hotfix 分支。
要开发一个新功能,这个时候需要创建一个feature分支,这个分支就从develop上检出,可以把这个分支推到服务器上让更多地人参与开发,当然也可以不推倒服务器上,只在本地开发,开发完成后合并到develop上。
在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
所以,团队合作的分支看起来就像这样:
Git的常用命令
![](http://i.v2ex.co/fAhm82RJ.png)
安利 廖雪峰大大的GIT教程!!
请放弃使用GIT可视化工具!会严重影响你的心情!慢!!!
命令行操作,简单快捷优雅。Windows可以使用git bash. Linux直接敲就可以了
常用命令小结:
git init #初始化git git add filename #添加一个文件到暂存区 git commit -m "discription" #将暂存区文件提交到本地仓库中 git log #查看提交日志,可以很方便的看出版本的id git log --graph #查看分支图 git status #查看当前工作区的状态 git diff filename #查看当前工作区文件与仓库中文件的区别 git reset --hard commit_id #版本回退 git checkout -- filename #撤销工作区的修改 git rm filename #删除一个文件 git remote add origin git@github.com:xx/xx.git #添加远程仓库 git push -u origin master #第一次推送所有内容 git push origin master #推送最新的修改 git checkout -b dev #创建新分支并切换到dev分支上 git checkout master #切换到主分支上 git branch #查看所有分支 git merge <branch_name> #合并branch_name分支到当前分支 git branch -d <branch_name> #删除分支 git remote -v #查看远程库信息 git pull #抓取新的分支
其他:
git clone git@github.com:xx/xx.git #克隆远端仓库到本地 git checkout -b branch-name origin/branch-name #在本地创建和远程分支对应的分支 git branch --set-upstream branch-name origin/branch-name #建立本地分支和远程分支的关联
ide的配置文件往往是不适合传到代码仓库的,还有编译好的文件,比如java的class文件,python的pyc文件等等。就要–>忽略特定文件
github作为远程仓库的SSH配置
如果master上提交代码错了且push到远端了如何回退!其实直接在master上提交代码是不可取的应严格禁止!!
在本地切到master分支下,使用 git chenkout -b
temp-branch,这样就从master分支上创建了一个新的临时分支,并且切到这个分支下。 git reset –hard
commitpoint, 这个commitpoint代表你要回滚的提交点 git branch -D master ,
这个操作是删除本地master分支 git push origin :master,
删除远程服务器上得master分支,这里的删除就是推送一个空分支到远程master上。但是注意的是远程master可能是一个default设置,这样服务器是不允许删除master分支,这个时候就需要在项目设置上将default标签切换到另一个分支上,上面的删除操作才能成功
将远程分支删掉后需要把回滚后的分支推到远程服务器上,git push origin
temp-branch:master,这样就能完成回退操作 最后是删除temp-branch 分支,git checkout master,
git branch -D temp-branch.
版本重置到远端:
git fetch origin
git reset –hard origin/master
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- git更新已經刪除的文件
- 提取Git每次提交后Commit的文件
- GIT迁移服务器
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- git终极指南:在实际开发中的应用
- 简单谈谈node.js 版本控制 nvm和 n
- VSS 软件配置管理 版本控制第1/2页
- Git远程操作详解
- 25个 Git 进阶技巧(翻译)
- 详解版本控制利器Git,SVN的异同以及适用范围
- 使用svn进行版本控制
- Ruby实现的删除已经合并的git分支脚本分享
- 在 Shell 提示符中显示 Git 分支名称的方法
- Git使用基础篇(一些常用命令和原理)
- git eclipse 插件的安装
- git fork同步是什么意思?
- Git使用小坑 Out of memory错误的解决方法
- Python的高级Git库 Gittle
- 使用GIT进行源码管理――GUI客户端小结