我是Github的新手,我正试图在我的服务器上找到一种合作项目的方法,而无需将文件上传到Github。我希望每个人都可以在他自己的计算机上的一个单独的分支上工作,并将他的更改提交到我服务器上的主分支。有可能吗?
答案 0 :(得分:1)
你的问题是Github,但GitHub有很好的选择:
Github是公共Git存储库最受欢迎的选择,并且还提供成本的私有存储库。
如果你有一个小团队(2-5名开发人员),Bitbucket是一个很好的选择。如果你不需要除了中央存储库之外的任何东西(没有花哨的UI,没有拉取请求管理等),在你自己的服务器上使用一个简单的Git仓库也是一个很好的方法。
我没有Gitlab和类似的经验,但他们的用户群很大,所以它应该是一个很好的选择。 Gitlab还提供类似Github的托管解决方案。
答案 1 :(得分:0)
Github
是一个公共存储库,无法扩展到您的服务器。虽然您可以使用Github API,但在处理之前需要您在Github上传文件。您可以尝试在服务器上安装Gitlab以获得与Github相同的功能。
另一种解决方案可能是在Github上创建private repository
并在您的服务器上使用API,如果您需要文件隐私。
答案 2 :(得分:0)
您可以在开发团队中的每个人都可以访问的任何服务器或远程位置上建立一个裸存储库,然后让每个开发人员从该位置进行推/拉,而无需上传到GitHub。
如果您具有文件系统访问权限,则可以使用file://
协议访问存储库。如果您想要GitHub功能,可以查看Gitlab等工具。
如果您确实有文件系统访问权限,请使用git init --bare
初始化存储库
然后,您可以让每个开发人员添加远程位置:git remote add origin <explicit path to remote repository>
您是否考虑过在GitHub上创建私有存储库并使用它?不是免费的,但它可能会让你头疼...
答案 3 :(得分:0)
设置共享存储库的最简单方法是使用您具有ssh
访问权限的计算机。
$ ssh shareduser@sharedmachine.com 'git init --bare ~/repo.git'
$ git clone shareduser@sharedmachine.com:repo.git
然后你有一个空的存储库连接起来并准备好了。
答案 4 :(得分:0)
正如其他人所说,GitHub不是一个版本控制系统,而是一个git服务,它具有诸如问题跟踪和用于分叉的漂亮网页界面等附加功能。
git执行实际版本控制,每个存储库实际上与其他存储库一样好,因此您可以将任何存储库设置为“官方”存储库。
因此,您还可以将Windows文件共享或NFS共享上的公共git存储库设置为远程,例如为shown here。
任何具有正确锁定的同步文件共享都应该有效,但性能可能会有所不同(Dropbox文件夹之类的异步位置不起作用,可能会导致数据损坏或不一致)。