Git 推送 "unmanaged" 更改
Git push "unmanaged" changes
不久前,当我刚接触 git 时,我做了一些蠢事。
具体来说,我使用 "download zipfile" 选项复制了一个项目,并在本地对其进行了一系列更改。因此,在 git 的术语中,整个目录基本上是不受管理的。没有 .git 类型的目录或文件(压缩文件中的 .gitignore 除外)。
现在,当然,我需要将更改放回存储库中。
解决此问题的最佳方法是什么?一个可取之处是在此期间没有任何人(不是我,也不是其他任何人)进行任何更改。
我唯一能想到的就是在项目上做一个适当的 "git clone",然后手动比较每个文件,将更改的文件复制到位,然后对其进行正常推送.但这似乎是一项艰苦的工作,耗时且容易出错。我怀疑系统有一个简单的方法来解决我的这种愚蠢行为?
干杯,
西蒙
只需克隆并将修改后的项目完整复制到克隆中即可。让 git 担心找出哪些相关文件发生了变化;它擅长于此。根据需要提交和推送。
(假定 zip 文件中项目的文件夹布局与 git 存储库中的相匹配。)
由于在生成 zip 文件后没有发生任何变化,因此事情变得更简单了。有两种方法可以做到这一点。第一个适用于一般处理 "I made edits to a release and now I don't know what I did" 问题,而不管是否可以访问版本控制。
- 在不同的位置再次解压缩原始存档。
diff -r original devel > my.patch
获取补丁文件。
git clone
存储库。
patch -p1 < /path/to/my.patch
.
git add -A .
添加所有更改(包括删除的文件)
git commit
.
涉及 git 时我更喜欢的另一种方法是...
git clone
存储库。
- 删除所有文件(.git 目录除外)。
- 从您进行开发的存档目录中复制所有文件。
git add -A .
添加所有更改(包括已删除的文件)。
git commit
.
不久前,当我刚接触 git 时,我做了一些蠢事。
具体来说,我使用 "download zipfile" 选项复制了一个项目,并在本地对其进行了一系列更改。因此,在 git 的术语中,整个目录基本上是不受管理的。没有 .git 类型的目录或文件(压缩文件中的 .gitignore 除外)。
现在,当然,我需要将更改放回存储库中。
解决此问题的最佳方法是什么?一个可取之处是在此期间没有任何人(不是我,也不是其他任何人)进行任何更改。
我唯一能想到的就是在项目上做一个适当的 "git clone",然后手动比较每个文件,将更改的文件复制到位,然后对其进行正常推送.但这似乎是一项艰苦的工作,耗时且容易出错。我怀疑系统有一个简单的方法来解决我的这种愚蠢行为?
干杯, 西蒙
只需克隆并将修改后的项目完整复制到克隆中即可。让 git 担心找出哪些相关文件发生了变化;它擅长于此。根据需要提交和推送。
(假定 zip 文件中项目的文件夹布局与 git 存储库中的相匹配。)
由于在生成 zip 文件后没有发生任何变化,因此事情变得更简单了。有两种方法可以做到这一点。第一个适用于一般处理 "I made edits to a release and now I don't know what I did" 问题,而不管是否可以访问版本控制。
- 在不同的位置再次解压缩原始存档。
diff -r original devel > my.patch
获取补丁文件。git clone
存储库。patch -p1 < /path/to/my.patch
.git add -A .
添加所有更改(包括删除的文件)git commit
.
涉及 git 时我更喜欢的另一种方法是...
git clone
存储库。- 删除所有文件(.git 目录除外)。
- 从您进行开发的存档目录中复制所有文件。
git add -A .
添加所有更改(包括已删除的文件)。git commit
.