0

我也在reddit上问过这个问题,但我也在通过在这里问来对冲我的赌注。

我们有一名员工需要能够将远程非裸存储库视为本地存储库。该员工需要能够分支、提交和合并。有一些并发症。

  • 员工在 Windows 上。
  • 员工对 git 的了解只有表面,需要能够通过友好的 GUI 完成所有操作。
  • 员工通过极其脆弱的互联网连接在家工作。

我相信一个好的解决方案将涉及使用 sshfs 来“本地化”远程 repo,允许任何 git GUI 将其视为本地的。但我们不知道这是否与周期性来去的互联网连接兼容,并且根据月相。

此外,高级工程师更愿意找到一个内置支持管理远程非裸存储库的 GUI 客户端,而不是使用 sshfs “hack”。不幸的是,这将排除 SourceTree,这是相关员工的首选。

真的,这是两个问题合二为一:

  1. sshfs 是否有任何理由不适合更改不频繁但连接不稳定的用例?
  2. 是否有任何适用于 Windows 的 git GUI 客户端支持内置此功能?
4

1 回答 1

0

看起来我们有一个替代解决方案,它完全用 git hooks 回避了这个问题。我将粘贴在 reddit 评论中:


看起来我们最终将使用 git hooks 解决这个问题,如下所示:

  • 在 /srv/git 有裸仓库,在员工的 ~ 目录中有非裸仓库
  • 员工在本地仓库工作,推送到远程裸仓库
  • 远程裸仓库中的 Git 挂钩执行以下操作:
    • cd ~name/$repo
    • git fetch --all
    • git checkout origin/$branch
  • 因此,工作目录始终是最近推送的分支的最新提交。
  • 对于员工来说,只需点击 SourceTree 中的“Push”按钮即可。所有的魔法都发生在服务器上。
于 2014-07-25T21:07:39.260 回答