【问题标题】:Administrating a remote non-bare git repo with a GUI使用 GUI 管理远程非裸 git 存储库
【发布时间】:2014-07-25 19:10:54
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

    标签: windows git user-interface sshfs


    【解决方案1】:

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


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

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

    【讨论】:

      猜你喜欢
      • 2020-02-01
      • 2016-12-16
      • 2014-08-03
      • 2012-08-31
      • 1970-01-01
      • 2015-11-16
      • 2013-12-06
      • 2011-03-23
      • 2016-12-30
      相关资源
      最近更新 更多