我的团队想要开始使用git。
我们有足够的服务器空间,因此我们每个人在服务器上都有一个“本地”存储库的想法出现了。这将允许我们的开发与我们的生产工具(所有内部)在同一服务器上进行。我已经调查了这个,但我之前可以找到关于任何人这样做的帖子,所以这可能是一个愚蠢的想法。
我之前使用过git,但只能通过我自己机器上的本地分支,我会编辑,然后提交回远程存储库。
是否可以直接在服务器上编辑文件(通过ssh,我们已经这样做了),然后将这些文件提交到同一台服务器上的另一个存储库? (或另一个)
基本上,不是在服务器上拥有repo,而是在我自己的机器上拉动它并进行编辑,然后将其推回,我的“自己的机器”将是存储在另一台服务器上的文件。
Bonus建议是如何使用我更喜欢的smart-git接口来做到这一点,但不是必需的。
编辑:到目前为止有用的答案!多谢你们。我仍然很好奇是否有可能使用smart-git在服务器上查看这种设置,但这可能需要它自己的问题。
答案 0 :(得分:1)
是的,您可以在git remote add <name> <remoteurl>
链接的不同服务器上进行回购,然后您可以在其中拉/推/合并等。
在您的情况下,使用分支(git checkout -b <newBranch>
)是否可以成为更简单,更节省空间的解决方案?分支使用最少的额外服务器空间。
答案 1 :(得分:1)
Git存储库可以托管在任何地方。在我的linux机器上,我可以创建一个文件夹,虚拟安装文件夹,然后将它们添加为远程并推送到它。我也可以安装遥控器&#39;作为一个本地驱动器开发,并作为开发环境在本地开发,这是我所相信的。
对于我的私人项目,我在raid 5中只有几个硬盘,我在本地网络上分享。我可以设置git存储库并将remotes添加到它们所在的文件夹中。
SO中的这个问题也可能对你有所帮助: https://serverfault.com/questions/463811/git-clone-pull-across-local-network
其次,如果你要提交本地的... git remote,你可以添加一个git hook ,然后你可以告诉它git push to 另一个 git存储库在其他地方。有这么多不同的事情,你可以做到这一点疯了。
希望这有帮助。
**编辑:**只是一个注释,我无法评论,所以我会把它放在这里。如果您在本地安装了远程驱动器,或者可以通过网络访问它,则可以打开远程存储库中的smart-git 之类的工具来编辑它,就像本地项目一样。
git的设计方式是要开发几个不同的分支,所以每个人都有完整的副本,你只需将你的更改发送到服务器,其他人合并,他们推动他们的更改,等等这样两个人就无法同时尝试编辑同一个文件。只是我的两分钱。