有时候想搭建个本地Git仓库来实现协同开发,图方便可以在Windows上搭建一个本地的Git仓库。方法有两个,一个是通过Git+Copssh,另一个可以通过GitStack,一键化安装,有可视化界面~关于一些常用的Git命令,可以看一下我之前的一篇博客:Git与GitHub常用命令小结~
Git+Copssh在Windows上搭建Git仓库
这里主要参考了两篇文章~ Windows搭建Git仓库(Git+Copssh)以及Windows7 64位利用Git+COPSSH搭建局域网协同开发环境~
基于GitStack搭建Git服务器
GitStack是基于PHP开发的一个方便在Windows上搭建Git服务器的软件,不需要做什么特殊的设置,对用户的权限设置也很简单,可以说是一键化安装,所以可以一试~
直接去官方网站下载GitStack即可(我用的是2.3.6版本)~
装完后,在地址栏输入http://localhost/gitstack技能直接打开登录界面,其他人可以通过服务器的ip来登录,默认的登录密码是admin/admin。
其中,Repositories里是你目前的仓库,也可以新建仓库,删除仓库,为每个仓库设置操作用户权限,查看commit日志,仓库结构等等。
Users&Groups里包括创建用户和修改用户密码,Groups则是可以在每个Group中添加或移除用户。
Settings里则是一般的设置,例如登录密码,端口号等等。
具体操作可以是:
1.管理员在这个Web界面新建一个空仓库,为这个仓库赋权限给相应用户,之后将这个空仓库clone至本地(Command to clone里有clone的命令和地址),在本地仓库增加项目初始结构,作为first commit的记录push到远端仓库。
2.被赋予权限的其他开发人员再进行clone就可以得到相应的工程,切换到自己的分支完成对应的开发工作,push到自己的远程自己的分支。
3.管理员再merge起来即可完成简单的协同开发。
如果小项目没有管理员,可以让各人解决自己分支的冲突,再push到远端自己的分支,只要一个人负责将没有冲突的分支合并到master,即可保证master上为最新代码。
举个例子,A的修改区域与B的修改区域有交集(都从master上获取的最新代码),那么A和B都commit完后,B push到自己的远端分支,A将远端B的分支的代码pull下来,解决冲突后,作为一个新的commit记录push到自己远端分支,这样只要负责master的人直接merge A的分支即可合并完A和B的内容,并且冲突已被A解决完~
相关文章