【问题标题】:Standard way to send git repo to a non-technical person将 git repo 发送给非技术人员的标准方法
【发布时间】:2014-07-03 16:45:29
【问题描述】:

我为非技术客户工作,他们需要在合同结束时获得我所做工作的副本,以便他们可以选择将其交给其他开发人员。

问题在于它们是非技术性的,所以我认为我不能指望他们下载 Git GUI 并将 repo 克隆到他们的机器上。事实上,目前我什至在主机以外的远程设备上都没有 repo。

我想我有三个选择

  1. 将存储库放在 BitBucket / Github / 类似上并授予客户端访问权限
  2. 归档整个存储库,包括 .git 文件夹并将其提供给客户端
  3. 存档整个 repo 内容,但不包含任何 .git 内容并将其提供给客户端(以节省大小)

存储库不是很大,所以大小不是问题。但是现在,我倾向于发送包含 .git 文件夹的存档,以避免拥有在线存储库(似乎未来的管理负担会落在我身上)。有标准的处理方法吗?

【问题讨论】:

  • git bundle 用于打包一个 git 分支。

标签: git archive git-clone


【解决方案1】:

可以使用以下方式打包单个分支:

git bundle create <filename> <branch>

整个仓库可以打包如下:

git bundle create <filename> --all

然后您可以按路径使用捆绑包,就像它是只读存储库一样。

git clone <filename> <newreponame>

【讨论】:

    【解决方案2】:

    如果您只想不频繁地发送更新,那么存档可能确实是最简单的解决方案。 git 甚至提供存档当前head的帮助。

    git archive HEAD --format=zip > archive.zip
    

    如果您决定使用在线存储库服务,github 在左侧边栏底部有一个“下载 Zip”选项,这样非技术客户也可以轻松访问。

    【讨论】:

    • 请有人解释一下为什么这被否决了?这似乎是发送文件而不是 repo 的正确做法(我说我感兴趣的第三个选项)。
    • 是的,这仅适用于第三个选项,并且不允许客户端将其用作 git 存储库,它只会将文件存档在 HEAD 中。使用git bundle 打包分支的缺点是客户端必须能够并且愿意使用 git 来访问包的内容,这使得它不适合非技术客户。
    • 我不认为只选择一个即使根据问题也不是首选的选项是一个很好的答案。客户通常不需要访问内容,他们只需要能够将其交给他们的技术人员。对于非一次性的项目,历史记录和分支也很有价值。
    猜你喜欢
    • 1970-01-01
    • 2017-07-25
    • 2010-12-27
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    相关资源
    最近更新 更多