版本控制:从 zip 到 git

发布于 2024-12-28 01:54:34 字数 573 浏览 0 评论 0原文

我有三个名为 [1,2,3] 的压缩文件夹,每个文件夹都包含相同的项目,1 是最早的项目,3 是最新的项目。我正在寻找一种方法将所有这些合并到 3 个 git 提交中,其中 3 个最多的提交是文件夹内容。

我想我可以执行以下操作:

  1. 解压缩 1.
  2. 将内容从 1 中取出放入新文件夹中。
  3. git init
  4. git add -A
  5. git commit -m "first commit
  6. 解压 2
  7. ​​将新文件夹中的内容替换为 2
  8. git add -A
  9. git commit -m "第二次提交
  10. 解压缩 2
  11. 将新文件夹中的内容替换为 3
  12. git add -A
  13. git 中的内容commit -m "第三次提交

谁能告诉我这是否是最好的方法是做到这一点?

I have three zipped folders named [1,2,3] each contains the same project 1 being the earliest and 3 being the most current. I am looking for a way to merge all of these into 3 git commits and the 3 most commit be the folders contents.

I suppose I can do the following:

  1. Unzip 1.
  2. Take the contents from 1 place it into a new folder.
  3. git init
  4. git add -A
  5. git commit -m "first commit
  6. Unzip 2
  7. replace the contents from the new folder with contents from 2
  8. git add -A
  9. git commit -m "second commit
  10. Unzip 2
  11. replace the contents from the new folder with contents from 3
  12. git add -A
  13. git commit -m "third commit

Could anyone tell me if this is the best way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

染年凉城似染瑾 2025-01-04 01:54:34

将三个 zip 文件解压缩到三个不同的目录中。

在第四个目录中初始化 git 存储库。

然后利用 --work-tree 选项,它允许您执行 git来自 git 存储库的命令,但内容位于所述 git 存储库之外:

cd /your/git/repo
git add --work-tree=/path/to/zip1 -A .
git commit -m "Add v1"
git add --work-tree=/path/to/zip2 -A .
git commit -m "Add v1"
git add --work-tree=/path/to/zip3 -A .
git commit -m "Add v3"

换句话说,您可以添加不同的内容,而无需离开 git 目录!

Unzip your three zip file in three different directories.

Initialize a git repo in a fourth directory.

Then take advantage of the --work-tree option, which allows you to execute a git command from a git repo, but with a content located outside of said git repo:

cd /your/git/repo
git add --work-tree=/path/to/zip1 -A .
git commit -m "Add v1"
git add --work-tree=/path/to/zip2 -A .
git commit -m "Add v1"
git add --work-tree=/path/to/zip3 -A .
git commit -m "Add v3"

In other words, you can add different contents without moving from your git directory!

不念旧人 2025-01-04 01:54:34

以下是我处理此问题的方法

获取版本 1 已提交

mkdir MyProj
cd MyProj
git init
# unzip version1 into MyProj
git add -A
git commit -m "Version 1"

获取版本 2 已提交

# delete everything but the .git directory in MyProject
# unzip version2 into MyProj
git add -A 
git commit -m "Version 2"

获取版本 3 已提交

对 zip 文件的版本 3 重复上述操作。

Here's how I would approach this

Get Version 1 commited

mkdir MyProj
cd MyProj
git init
# unzip version1 into MyProj
git add -A
git commit -m "Version 1"

Get Version 2 committed

# delete everything but the .git directory in MyProject
# unzip version2 into MyProj
git add -A 
git commit -m "Version 2"

Get Version 3 committed

Repeat the above for version3 of the zip file.

月下凄凉 2025-01-04 01:54:34

每次运行 git init 时,您都会创建一个空存储库。

如果只有三个文件夹并且您只执行一次,那么这将起作用(如果您省略 git init )。只要确保不要删除 .git 文件夹即可。

您甚至可以解压缩这三个文件夹,然后将 .git 文件夹依次移动到每个文件夹,然后在每个单独的文件夹中提交,最后一个文件夹是新存储库的开始。

Each time you run git init, you're creating an empty repository.

If there are only three folders and you're only doing it once, then this will work (if you omit git init). Just make sure not to erase the .git folder.

You could even unzip the three folders and move the .git folder to each in succession and commit in each separate folder, with the final folder being the start of your new repository.

明媚如初 2025-01-04 01:54:34

是的。只需确保完全替换内容,并捕获所有添加和删除的文件。

Yes. Just make sure to fully replace the contents, and catch all added and removed files.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文