是否可以用 git 中另一个目录中的冗余合并文件替换一个目录中的合并文件?
Is it possible to replace merged files in one directory with redundant merged files from another directory in git?
我对 Git 还是很陌生,但是我正在尝试更正我之前创建的一些 非常 糟糕的文件结构,但我不确定如何做。
基本上我们拥有的是这个结构:
--original_folder
-- file1
-- file2
-- file3
-- file4
-- file5
--corrections_to_original_files_folder
-- file1
-- file2
-- file3
-- file4
-- file5
original_folder
表示第一个合并分支,corrections_to_original_files_folder
表示第二个合并分支(您猜对了,其中包含对这些文件的更正)。
显然,这是一种非常糟糕的方法。为了减少冗余,我想做的是创建一个新分支,基本上用 corrections_to_original_files_folder
的内容替换 original_folder
的内容,然后从那里进行额外的编辑。
但是我尝试了几种方法,因为这段代码全部合并了,我不能依赖任何 git mv
方法,或者 git checkout origin/BRANCH_TO_MOVE_FROM desired_file.py
.
谁能帮我解决这个垃圾箱火灾?[=18=]
听起来你可以做你想做的事,而且你不会有任何问题:
What I am trying to do to reduce redundancy is create a new branch, and essentially replace the contents of original_folder
with the contents of corrections_to_original_files_folder
and from there making additional edits.
让我们假设您当前描述的重复文件夹结构存在于 main
上。现在让我们按照您说的去做:
- 从 main 创建一个新分支:
git switch -c new-branch main
- 将文件夹
corrections_to_original_files_folder
中的文件复制到 original_folder
中。 Git 将显示所有已编辑的文件。
- 删除整个文件夹
corrections_to_original_files_folder
。 Git 将继续将其他文件夹的文件显示为已编辑,并另外将所有这些文件显示为已删除。
- 使用措辞良好的提交消息来提交更改,解释你做了什么以及为什么。
- 照常工作。
现在,如果您愿意,您可以将 new-branch
合并到 main
中,这样每个人都可以立即获得修复,或者您可以继续处理 new-branch
,稍后再合并。一旦 new-branch
合并到 main
中,就会应用“修复”。
请注意,这几乎正是您所说的您想做的。我猜你只是没有意识到它会起作用,但它应该起作用。
我对 Git 还是很陌生,但是我正在尝试更正我之前创建的一些 非常 糟糕的文件结构,但我不确定如何做。
基本上我们拥有的是这个结构:
--original_folder
-- file1
-- file2
-- file3
-- file4
-- file5
--corrections_to_original_files_folder
-- file1
-- file2
-- file3
-- file4
-- file5
original_folder
表示第一个合并分支,corrections_to_original_files_folder
表示第二个合并分支(您猜对了,其中包含对这些文件的更正)。
显然,这是一种非常糟糕的方法。为了减少冗余,我想做的是创建一个新分支,基本上用 corrections_to_original_files_folder
的内容替换 original_folder
的内容,然后从那里进行额外的编辑。
但是我尝试了几种方法,因为这段代码全部合并了,我不能依赖任何 git mv
方法,或者 git checkout origin/BRANCH_TO_MOVE_FROM desired_file.py
.
谁能帮我解决这个垃圾箱火灾?[=18=]
听起来你可以做你想做的事,而且你不会有任何问题:
What I am trying to do to reduce redundancy is create a new branch, and essentially replace the contents of
original_folder
with the contents ofcorrections_to_original_files_folder
and from there making additional edits.
让我们假设您当前描述的重复文件夹结构存在于 main
上。现在让我们按照您说的去做:
- 从 main 创建一个新分支:
git switch -c new-branch main
- 将文件夹
corrections_to_original_files_folder
中的文件复制到original_folder
中。 Git 将显示所有已编辑的文件。 - 删除整个文件夹
corrections_to_original_files_folder
。 Git 将继续将其他文件夹的文件显示为已编辑,并另外将所有这些文件显示为已删除。 - 使用措辞良好的提交消息来提交更改,解释你做了什么以及为什么。
- 照常工作。
现在,如果您愿意,您可以将 new-branch
合并到 main
中,这样每个人都可以立即获得修复,或者您可以继续处理 new-branch
,稍后再合并。一旦 new-branch
合并到 main
中,就会应用“修复”。
请注意,这几乎正是您所说的您想做的。我猜你只是没有意识到它会起作用,但它应该起作用。