你的位置:首页 > 操作系统

[操作系统]git和svn的混用


服务器上的项目是使用svn进行管理的。

本来本地的项目也是通过svn进行管理的,但是后来使用svn的分支功能进行项目的测试/新功能等等时,总是会出现各种各样的问题,遂转投git。

因为git的分支机制和svn的分支机制不一样,git的更加灵活,强大和稳定。

首先建立一个本地化的git仓库(需要在空文件夹下建立)

将服务器上的项目checkout到创建的git仓库里面,此时soureTree里该项目的状态就发生了变化

然后会发现有许多与svn相关的东西,需要忽略追踪。(*.svn)

此时需要常规的操作将项目加入到git中(暂存,提交)。

第一次填写提交信息时会提示填写用户名和邮箱(这些是可以随便填写的,因为这些是用来标记git项目的,但是格式需要正确)

提交成功之后可以在提交历史中查看

现在master将作为项目的的主分支而存在,后续项目更新都在分支上进行,用以保证项目的稳定和完整。

基于master建立一个分支

因为选择了”检出新分支“所以当前是的分支是branch.

现在修改branch的内容。然后暂存,提交。

通过查看历史的提交可以看到master分支并没有出现新增的内容。

然后改变当前的分支为master,将branch的内容合并到主分支。

合并成功查看master的相关内容

如果合并出现冲突需要根据情况进行处理,再次提交就可以了。

冲突之后的提示大概是这样的:

现在没有任何问题,就可以按照正常的svn更新流程,将master的新内容提交到远程的服务器了。

虽然git本身就提供了git svn相关的操作,可是理解起来比较绕,就依据自己对git和svn使用上的理解自行处理了。