是否可以将您的 "local" git 存储库放在服务器上?

Is it possible to have your "local" git repo on a server?

我的团队想开始使用 git。

我们有很多服务器 space,所以我们每个人都有一个 "local" 存储库在服务器上的想法出现了。这将允许我们的开发与我们的生产工具在同一台服务器上进行(全部在内部)。我已经调查过了,但我可以找到任何关于之前有人这样做的帖子,所以这可能是个愚蠢的想法。

我以前使用过 git,但只是通过我自己机器上的本地分支,我会编辑它,然后提交回远程存储库。

是否可以直接在服务器上编辑文件(通过 ssh,我们已经这样做了),然后将这些文件提交到同一服务器上的另一个存储库? (或不同的)

基本上,我的 "own machine" 不是将存储库放在服务器上,而是在我自己的机器上拉取并编辑,然后将其推回,我的 "own machine" 是存储在另一台服务器上的文件。

额外的建议是如何使用智能-git 界面来做到这一点,我更喜欢,但不是必需的。

编辑:到目前为止有用的答案!谢谢你们。我仍然很好奇是否可以使用 smart-git 来查看服务器上的这种设置,但这可能需要它自己的问题。

是的,你可以在不同的服务器上有 repos,通过 git remote add <name> <remoteurl> 链接,然后你可以 pull/push/merge 等等。

在您的情况下,使用分支 (git checkout -b <newBranch>) 是否可以成为更简单且更 space 高效的解决方案?分支使用最少的附加服务器 space.

Git 存储库可以托管在任何地方。在我的 linux 机器上,我可以创建一个文件夹,虚拟安装该文件夹,然后他们将其添加为远程并推送到它。我还可以将 'remote' 驱动器挂载为本地驱动器,并在本地开发为开发环境,我相信这就是您正在寻找的。

对于我的私人项目,我在 raid 5 中只有几个硬盘驱动器,我在本地网络上共享它。我可以设置 git 个存储库并将遥控器添加到它们所在的文件夹中。

SO 中的这个问题也可能对您有所帮助: https://serverfault.com/questions/463811/git-clone-pull-across-local-network

其次,如果您提交给本地错误... git 远程,您可以添加一个 git 挂钩 ,然后您可以告诉它 git 推送到其他地方的 另一个 git 存储库。你可以做很多不同的事情,这太疯狂了。

希望对您有所帮助。

**编辑:**请注意,我无法发表评论,所以我会把它放在这里。如果您在本地安装了远程驱动器或者可以通过网络访问它,则可以打开该远程存储库中的 smart-git inside 等工具,像本地项目一样对其进行编辑.

不过,git 的设计方式是有几个不同的分支进行开发,所以每个人都有完整的副本,你只需将你的更改发送到服务器,然后其他人合并并他们推送他们的更改,等等。这样两个人就不能同时尝试编辑同一个文件。只是我的两分钱。