为现有环境中的分支设置 git(git 中没有共享历史记录)
Setting up git for branches from already existing environments (no shared history in git)
我有两种环境的代码,UAT 和 PROD。假设我复制了 UAT 代码并将其放在 UAT 分支上,对于 PROD 也是如此。在从 UAT 到 PROD 进行 PR 时,我想看看两者之间的区别(它们大部分相同,但 UAT 中有一些东西还没有在 PROD 中)。但是 git 说没有什么可比较的,因为它们是不同的历史。这是真的。
有没有办法解决这个问题,以便我可以看到差异并开始通过 git 将代码从 UAT 提升到 PROD?
您的 PROD
代码应该在 main
分支中。然后从 main
创建并检出一个新分支,比方说 import/UAT
.
在 import/UAT
分支上,对现有 UAT
分支中的代码执行文件差异,而不是 git diff
。您可能需要将这些文件复制到另一个位置以进行文件比较。我会使用 Beyond Compare 之类的东西。您可以 copy/commit 将这些更改为 import/UAT
。
现在您将拥有两个环境之间的 git 历史记录。
在 import/UAT
期间,您可以执行 git diff main --name-only
以查看已更改的文件名列表并从那里开始工作。
更新:
如果您使用好的工具进行文件比较,您可以将所有更改从源 UAT
文件夹批量复制到 import/UAT
上包含您的存储库的文件夹。然后您可以在一个命令中批量添加所有更改。
git add .
git commit -m "UAT changes."
您甚至可以在 import/UAT
签出时尝试将现有的 UAT 文件复制到 repo 文件夹中。 git
很可能会计算出文件的增量和添加,而不管文件的时间戳。
我有两种环境的代码,UAT 和 PROD。假设我复制了 UAT 代码并将其放在 UAT 分支上,对于 PROD 也是如此。在从 UAT 到 PROD 进行 PR 时,我想看看两者之间的区别(它们大部分相同,但 UAT 中有一些东西还没有在 PROD 中)。但是 git 说没有什么可比较的,因为它们是不同的历史。这是真的。
有没有办法解决这个问题,以便我可以看到差异并开始通过 git 将代码从 UAT 提升到 PROD?
您的 PROD
代码应该在 main
分支中。然后从 main
创建并检出一个新分支,比方说 import/UAT
.
在 import/UAT
分支上,对现有 UAT
分支中的代码执行文件差异,而不是 git diff
。您可能需要将这些文件复制到另一个位置以进行文件比较。我会使用 Beyond Compare 之类的东西。您可以 copy/commit 将这些更改为 import/UAT
。
现在您将拥有两个环境之间的 git 历史记录。
在 import/UAT
期间,您可以执行 git diff main --name-only
以查看已更改的文件名列表并从那里开始工作。
更新:
如果您使用好的工具进行文件比较,您可以将所有更改从源 UAT
文件夹批量复制到 import/UAT
上包含您的存储库的文件夹。然后您可以在一个命令中批量添加所有更改。
git add .
git commit -m "UAT changes."
您甚至可以在 import/UAT
签出时尝试将现有的 UAT 文件复制到 repo 文件夹中。 git
很可能会计算出文件的增量和添加,而不管文件的时间戳。