git和svn是2款常用的版本控制系统。
git 的功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
也就是说自己机器上有一个git仓库。
这和svn是不同的,svn是没有本地的仓库的。
所以git是先提交到本地仓库,然后推送到服务器。而svn是直接提交到服务器。
这里说一下几个含义:
拉取:将服务器中git仓库的数据拉取到本地git仓库,同时修改(更新)当前分支的文件
获取:仅仅将服务器中git仓库的数据拉取到本地git仓库
提交:将修改的文件提交到本地git仓库。
推送:将本地git仓库上的数据推送到服务器。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
git和svn的一点不同在于svn是通过目录结构来区分不同的分支的。而git你可以点击切换/检出 来切换不同的分支。
在svn上右键点击Repository Browser可以看见整个工程的目录结构
在git上可以点击版本分支图查看整个工程的分支解构。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
git分支保护:自己并没有权限推送到当前分支:
1自己创建一个分支,
2将自己创建的分支推送上去,
3登录git,发送Merge Requests(合并分支的请求)给相关人员。
4通知相关人员,并由相关人员将你的代码合并到主分支