Svn 使用git作为集中式版本服务器

Svn 使用git作为集中式版本服务器,svn,apache,git,version,Svn,Apache,Git,Version,我目前在工作中使用svn 我们的设置是:每个人都有一个工作副本,我们将其提交给由apache2提供服务的svn服务器 因此,我提交更改,另一个更新,每个人都可以根据自己的意愿处理副本 因此,部署起来非常容易 但是现在,我想用Git做同样的事情。可能吗 我希望在我的主服务器上有一个git repo,在家里开发,向服务器提交更改,等等 谢谢你的帮助是的,这是可能的 在您的资料所在的服务器上: git init git add . 在本地计算机上: git clone git://you

我目前在工作中使用svn

我们的设置是:每个人都有一个工作副本,我们将其提交给由apache2提供服务的svn服务器

因此,我提交更改,另一个更新,每个人都可以根据自己的意愿处理副本

因此,部署起来非常容易

但是现在,我想用Git做同样的事情。可能吗

我希望在我的主服务器上有一个git repo,在家里开发,向服务器提交更改,等等

谢谢你的帮助

是的,这是可能的

在您的资料所在的服务器上:

  git init
  git add .
在本地计算机上:

  git clone git://yourserver/repo localfolder
要获取更改,请执行以下操作:

  git pull
  git fetch
要将更改发送到服务器,请执行以下操作:

  git push
以下是如何设置服务器的链接

对于初学者来说,这尤其有趣

git init
git add
git clone git://...
git pull
git fetch
git push
然后检查git站点上的其余文档


绝对-您可以设置可以用作中心点的中心(裸)GIT存储库。或者使用GitHub之类的工具


有了GIT,更重要的是让您的流程按照您的意愿使用它。

只需建立一个集中的回购协议,每个人都可以推动和退出


仅仅因为git没有中央回购或优先回购的概念,这并不意味着你不能在你的团队中按照惯例指定一个这样的回购。

除了其他答案之外,还有一点需要补充:

虽然集中式工作流(使用一个“中心”Git存储库)是不可能的,但您需要记住Git以不同的方式组织其数据(总体上,查看数据内容以推断各种属性,如文件重命名)。 看这个

一个结果是,你不必考虑只拥有一个Git中央存储库,而是几个,特别是如果你有许多不同的、独立的历史文件(它们按各自的步长进化)。 SVN可以将所有这些不同的组存储在一个存储库中,并可以分支或标记它想要的任何部分(只需在表示分支或标记的“目录”中复制您需要的内容)。Git分支和存储库级别的标记


如果您的文件集相当一致,那么可以有一个Git central repo,但是如果您有几个组件,那么可能有几个“central”Git repo更好

git://yourserver/repo localfolder但此路径将由正常的apache目录列表提供?请参阅,谢谢您的回答,但是我还是不明白,哈哈。但是我在你发给我的文件中发现:$git clonessh://yourhost/~you/repository,这样就可以了。你应该在服务器上创建一个裸存储库。我认为你的意思是,如果你有自包含的模块,如果它们是自己的git repo,那么它们可以更容易地在项目之间共享。与svn不同,git无法在repo级别下克隆,因此很难共享repo的一部分(但git可以创建类似svn的分支,因为它们只是文件夹的副本)。对于一个小项目,最好坚持一次回购(10个文件两次回购的开销太大)。您可以稍后使用诸如@pydave:是的,稀疏签出()很难。不,Git不想做“类似svn”的分支(颤抖):分支是Git的一级公民,而不是svn:和@pydave:中的目录。是的,您可以稍后使用
过滤器分支重构Git repo,但Git更适合基于组件的方法(即,每个组件一个repo):很明显,我不鼓励任何人使用svn风格的分支。这样做是疯狂的。