如何通过代码更改使用本地目录更新主 Git 存储库?

问题描述 投票:0回答:1

我将澄清工作条件,以解释为什么我们以这种方式工作。

用于开发的计算机处于完全隔离的工作环境中,没有连接到任何数据网络,所有数据端口都被禁用(网络、USB、蓝牙等),因此不可能将源代码复制到更开放的环境中.

这台电脑只安装了 Visual Studio 2022,没有安装其他类型的软件,这就是为什么无法从 master 创建分支,因为 VS 2022 不允许分支连接到本地目录。

可用于隔离每日更改的唯一方法是每天通过 Windows 文件资源管理器中的副本创建一个目录,其中包含最近几天和前几天所做的更改。

该项目的结构如下:

  1. CS_2024-04-10目录,这是包含原始源代码的原始目录。该目录已使用 VS 2022 转换为 GIT 存储库,这使我们能够拥有 master 分支。由于上述原因,该目录包含隐藏的 .git 目录。

  2. 第二天,制作了一份原始目录的副本,这个副本被命名为CS_2024-04-11。因此,该目录包含原始隐藏的 .git 目录。我们通过在 VS 2022 中打开项目并进行各种更改,然后保存结果来处理此副本。

  3. 上一个过程已经进行了两周,所以有 10 个源代码目录,其中包括每个工作日所做的更改以及各自前一天的更改,例如目录 CS_2024-04-16 包含所有第 10 天到第 15 天所做的更改加上第 16 天期间所做的更改。

现在,我们需要知道是否可以将所有这些顺序目录转换为具有更改控制的 GIT 结构,例如带有主分支的第一个目录,然后是可以与每个后续目录关联的分支。

为了支持这个想法,我安装了 GIT 程序。为此,现在开发电脑上只包含两个用于开发的软件,Visual Studio 2022和GIT。

如何使用原始目录 CS_2024-04-10 从 master 分支创建分支,并将这些分支与创建的顺序目录相关联?

使用 git worktree 没有帮助,因为目录必须为空,并且在创建新分支后,用以前目录中的现有内容替换内容不起作用。

git directory local isolate
1个回答
0
投票

我收到了 GIT 电子邮件用户的建议,它解决了我的问题。下面我描述了这个过程,以便如果其他人需要类似的东西,他们可以看到这个过程是如何进行的。

我在目录 CS_2024-04-10 上运行 Git bash,并且,

  1. 在第一天的 Git 存储库 CS_2024-04-10 中,我删除了除 .git 文件夹之外的所有文件。这是为了确保第二天不再存在的任何文件确实不再存在于存储库中。

  2. 我将第二天 CS_2024-04-11 的内容(除了 .git 文件夹)复制到 CS_2024-04-10 中。 git status、git diff 等应该显示 CS_2024-04-10 和 CS_2024-04-11 之间的差异。

  3. 我为CS_2024-04-11创建了一个新分支,我执行了命令 git checkout -b 2024-04-11

  4. 从 Git gui,暂存并提交分支。

  5. 从 git bash 运行命令: git 结账 和 git merge 2024-04-11(为复制的文件创建的分支)

  6. 对于剩余的每一天,继续执行步骤 1 到 5,CS_2024-04-12...CS_2024-04-20。

此过程为我留下了一个存储库,其中记录了所有所做的更改,并按每天在其自己的分支中分组,VS 2022 现在显示了整个更改过程和文件版本控制。

© www.soinside.com 2019 - 2024. All rights reserved.