Cos*_*min 5 git remote-server git-remote
我是Git的新手,我将开始为现有的Web应用程序开发新模块.此应用程序目前托管在Web服务器上,我想使用Git作为版本控制工具.我创建了一个新的裸存储库,git init --bare newdev.git但我不知道如何添加已经在服务器上的文件.
谢谢.
哇,坚持下去.让我们备份一些.你是"git"的新手,所以你需要一些基础知识!:-)
出于您的目的,有两种存储库:
"裸"存储库没有任何人可以做任何工作的地方.这就是它"裸露"的原因 - 是什么使它成为一个"推"到的安全的地方.用力推一些非裸露的回购问题是这样的(GIT实际上阻止你,有error: refusing to update ...,但它是什么问题会是,如果混帐让你这么做):
config.config.config,然后将更改推送到Alice.通过不让任何人"进入"它,一个裸存储库回避了这个问题.
还有另外一个问题,那就是:你如何得到这个东西 - 首先是裸露的回购?它没有工作的地方!
答案是:你没有从那里开始,你从你自己的回购开始,没有其他人有副本.你在那里写了一些初始版本.然后在共享服务器上创建一个新的裸仓库,复制您拥有的仓库:
sharedserver$ cd /place/where/bare/repos/go
sharedserver$ git clone --bare ssh://cosmins.machine.name/path/to/initial project.git
Run Code Online (Sandbox Code Playgroud)
现在"sharedserver"已经拥有了裸机/place/where/bare/repos/go/project.git,而你(以及爱丽丝和鲍勃等等)就可以git clone了.
("共享服务器"可以是类似github的东西,它有一种不同的方法可以从原始的非共享库创建共享存储库.我不使用github,也不能真正说出任何相关内容.)
(可以将常规的,非裸露的repo转换为裸的repo,反之亦然,但这有点痛苦.只需创建裸露的git clone --bare.)
另一种侧面踩踏"工作被覆盖"问题的方法根本就不用push了.如果每个人都在对等共享系统中合作,那么Alice可以pull来自Bob和Cosmin,而Bob可以pull来自Alice和Cosmin,等等.请注意,这导致了大量人员pull,这就是共享服务器出现的原因.你们都可以在那里见面,而不必总是去彼此的家.