Git软件(例如Gitbox,Github,SourceTree)可以使用远程仓库代替本地吗?

Lau*_*ope 6 git github bitbucket gitbox atlassian-sourcetree

我喜欢使用Git软件来推送提交,但我使用的那些(Gitbox,Github,SourceTree)都在向他们添加新的repo时要求本地回购.

事实是,我的回购在我的开发服务器而不是我的本地机器上.

那么Git软件可以使用远程Git仓库作为开发回购,然后将其推送到您的主仓库(例如Github或Bitbucket)吗?

否则,您似乎无法使用该软件,必须通过SSH使用命令行.

谢谢

Bri*_*ell 6

一种不依赖于前端支持直接操作远程仓库的解决方案是将远程安装为网络文件系统.如果您只有SSH访问远程计算机,您可以尝试通过FUSE(在Linux上)或Mac OS X上的OSXFUSE使用SSHFS.或者根据您的首选项和设置,您可以使用SMB,NFS,DAV或其他网络文件系统.

我在评论中提到的另一种方法是将网络文件系统从开发机器导出到服务器.我这样做是为了让我可以同时在多台机器上安装我当前的工作副本,并且即使我没有连接到服务器,我仍然可以使用本地工作副本.

你写:

我很惊讶git软件无法处理远程回购作为工作版本.

大多数Git GUI通过调用git命令来完成一些工作.为了让它们支持远程操作,核心Git也必须这样做.它是用C和shell脚本混合编写的; 所有这些都必须重写以应对远程文件.

文本编辑器工作更容易; 它在你打开它时读取一个文件,在你保存时读取,而Git在单个操作过程中读取和写入许多文件commit.

网络文件系统意味着所有工具(Git和其他工具)都可以在您的远程文件上运行.不是在每个应用程序中构建一个层来支持网络文件访问,而是在内核中(或通过FUSE)执行它,然后只需将其视为本地文件系统,就可以免费为每个应用程序提供支持.

  • 更新:当远程安装在sshfs驱动器上时,似乎GitHub和Gitbox无法"看到".git文件.我没有获得任何状态,或任何有关回购的信息:(.我可以在Finder中查看.git文件. (3认同)
  • “......为了让他们支持远程操作,核心 Git 也必须支持。” 这根本不是真的。Git 可以安装在远程机器上,软件可以简单地通过 ssh 连接到它,执行它需要的任何 git 命令,然后在本地更新 UI。我很惊讶这个工具不存在。 (3认同)