Git从ZIP文件推送到其他服务器而不连接到原始主文件

时间:2017-06-14 12:08:08

标签: git bash

我想将文件从我们的GIT存储库推送到其他服务器,该服务器已经正常工作。但是,这需要由无法访问我们的GIT存储库的人来完成。所以我提出的是,我会将文件从存储库中发送给他一个ZIP文件,但他怎么能将这些文件推送到另一台服务器呢?

  1. 解压缩文件
  2. 启动GIT bash
  3. git init
  4. git remote add UAT ssh:// username @ ip_address:port
  5. git fetch UAT
  6. git push ??
  7. 当我用

    添加文件时,GIT无法识别存储库中的文件
    1. gitt add。
    2. git commit -m" Message"
    3. 我会尝试推送它们然后我会从GIT收到一条消息,我需要提取数据,当我这样做并调用git pull -r UAT master时,我会得到合并冲突。我想要实现的是我将数据从ZIP文件推送到服务器(并覆盖它)。

      我怎样才能做到这一点?

      由于

1 个答案:

答案 0 :(得分:0)

您可以执行以下步骤:

  1. 将文件解压缩到一个新文件夹(让我们将此文件夹称为 A
  2. 将原始存储库克隆到其他文件夹(让我们将此文件夹称为 B
  3. 使用Windows上的ROBOCOPY等工具将A的内容镜像到B中,确保覆盖文件,从A到B添加新文件,并删除B中不存在的文件
    • 注意!请确保在此镜像过程中不要触摸.git文件夹。如果您使用ROBOCOPY,则需要添加/xd .git
  4. git add
  5. git commit
  6. git push
  7. 这将完成您的目标。

    注意!这里有一个时间问题。如果其他人在您在此处克隆它之后将新提交推送到远程存储库,但在推送之前,您将在步骤6中获得推送拒绝。如果您得到了这个,那么我会严重质疑您正在做什么因为你已经明确表示拥有zip文件的人应该覆盖存储库,但是你允许其他人处理相同的文件。这是灾难的秘诀。

    如果您只是发送此人某些文件,则需要修改第3步:

    1. 使用工具将文件从A复制到B
    2. 在这种情况下,如果使用这种繁琐的方法工作的人正在重命名或删除文件,则需要通过将首先发送给他的zip文件与目前存档和处理的文件进行比较来处理这个问题。差异。