1.应用场景
主要用于将git修改的文件导出和导入, 帮助提高工作效率。
2.学习/操作
1.文档阅读
来自chatGPT的对话
2.整理输出
2.1 如何将git修改的文件导出来
如果您只是想将 Git 仓库中的文件导出到本地磁盘中,而不需要保留 Git 的历史记录和元数据,可以使用
git archive
命令来实现。
git archive
命令可以将 Git 仓库中的指定文件或文件夹打包成一个压缩文件,并将其导出到指定的目录中。具体步骤如下:
- 打开命令行终端,并进入 Git 仓库所在的目录。
- 运行以下命令来将 Git 仓库中的指定文件或文件夹打包成一个压缩文件:>
> git archive --format=zip --output=/path/to/output/file.zip HEAD:path/to/folder >
其中,--format=zip
表示输出文件的格式为 ZIP 压缩文件,--output=/path/to/output/file.zip
表示将输出文件保存到指定的目录中,HEAD:path/to/folder
表示要导出的文件或文件夹路径。如果要导出整个仓库中的所有文件,可以将HEAD:path/to/folder
替换为HEAD
。 - 运行以上命令后,Git 会将指定的文件或文件夹打包成一个压缩文件,并将其保存到指定的目录中。
如果您需要保留 Git 的历史记录和元数据,可以考虑使用 Git 的
git clone
命令将整个仓库克隆到本地,并使用其他工具来管理和导出修改的文件。
2.2 将git未提交的文件导出来
如果您想将 Git 中已经修改但未提交的文件导出到本地磁盘中,可以使用
git diff
命令和一些 shell 命令来实现。
具体步骤如下:
- 打开命令行终端,并进入 Git 仓库所在的目录。
- 运行以下命令来查看未提交的修改内容:>
> git diff > changes.patch >
这个命令将把未提交的修改内容输出到标准输出流中,并将输出保存到名为changes.patch
的文件中。 - 现在,您可以使用
patch
命令来将修改应用到另一个 Git 仓库中,或者手动编辑文件并将其保存到本地磁盘中。>> patch -p1 < changes.patch >
这个命令将根据changes.patch
文件中的修改内容来更新当前目录下的文件,并将这些修改标记为已经应用。请注意,如果修改的文件在其他 Git 分支或者其他 Git 仓库中也被修改过,那么patch
命令可能会遇到冲突,需要手动解决。如果您只想将修改应用到单个文件中,可以使用以下命令:>> git diff path/to/file > changes.patch >
> > > >> patch < changes.patch >
这个命令将只将指定文件的修改应用到本地磁盘中。 - 如果您不需要将修改应用到其他 Git 仓库中,可以直接手动编辑文件并将其保存到本地磁盘中。>
> git diff path/to/file > changes.patch >
> > > >> vi path/to/file >
这个命令将使用 Vim 编辑器打开指定文件,并允许您手动编辑文件内容。编辑完成后,按Esc
键退出编辑模式,并输入:wq
命令保存文件。
希望这些步骤可以帮助您将 Git 中未提交的文件导出到本地磁盘中。
2.3 实践
背景: 项目1 完成功能修改,需要将修改的文件【未提交】移植到项目2中【项目2是项目1的基础上初始化而来,但是项目2已经有了很多不同之处】这里的功能修改则是相同的。
项目1
git diff > ~/changes .patch
项目2
patch -p1 < ~/changes.patch
修改和测试结果正常~ ✅
⚠️⚠️
要善于使用工具,利用工具,高效工作,节省时间,去做更加有意义,淦兴趣的事情。
后续补充
...
3.问题/补充
TBD
4.参考
参见上面文档列表
后续补充
...
版权归原作者 宁小法 所有, 如有侵权,请联系我们删除。