版本控制:从 zip 到 git
我有三个名为 [1,2,3] 的压缩文件夹,每个文件夹都包含相同的项目,1 是最早的项目,3 是最新的项目。我正在寻找一种方法将所有这些合并到 3 个 git 提交中,其中 3 个最多的提交是文件夹内容。
我想我可以执行以下操作:
- 解压缩 1.
- 将内容从 1 中取出放入新文件夹中。
git init
git add -A
git commit -m "first commit
- 解压 2
- 将新文件夹中的内容替换为 2
git add -A
git commit -m "第二次提交
- 解压缩 2
- 将新文件夹中的内容替换为 3
git add -A
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:
- Unzip 1.
- Take the contents from 1 place it into a new folder.
git init
git add -A
git commit -m "first commit
- Unzip 2
- replace the contents from the new folder with contents from 2
git add -A
git commit -m "second commit
- Unzip 2
- replace the contents from the new folder with contents from 3
git add -A
git commit -m "third commit
Could anyone tell me if this is the best way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
将三个 zip 文件解压缩到三个不同的目录中。
在第四个目录中初始化 git 存储库。
然后利用
--work-tree
选项,它允许您执行 git来自 git 存储库的命令,但内容位于所述 git 存储库之外:换句话说,您可以添加不同的内容,而无需离开 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:In other words, you can add different contents without moving from your git directory!
以下是我处理此问题的方法
获取版本 1 已提交
获取版本 2 已提交
获取版本 3 已提交
对 zip 文件的版本 3 重复上述操作。
Here's how I would approach this
Get Version 1 commited
Get Version 2 committed
Get Version 3 committed
Repeat the above for version3 of the zip file.
每次运行 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.是的。只需确保完全替换内容,并捕获所有添加和删除的文件。
Yes. Just make sure to fully replace the contents, and catch all added and removed files.