1.应用场景

主要用于将git修改的文件导出和导入, 帮助提高工作效率。

2.学习/操作

1.文档阅读

来自chatGPT的对话

2.整理输出

2.1 如何将git修改的文件导出来

gitlab 导出word报告 git导出文件_导出文件


如果您只是想将 Git 仓库中的文件导出到本地磁盘中,而不需要保留 Git 的历史记录和元数据,可以使用 git archive 命令来实现。

git archive 命令可以将 Git 仓库中的指定文件或文件夹打包成一个压缩文件,并将其导出到指定的目录中。具体步骤如下:

  1. 打开命令行终端,并进入 Git 仓库所在的目录。
  2. 运行以下命令来将 Git 仓库中的指定文件或文件夹打包成一个压缩文件:

git archive --format=zip --output=/path/to/output/file.zip HEAD:path/to/folder 

  1. 其中,--format=zip 表示输出文件的格式为 ZIP 压缩文件,--output=/path/to/output/file.zip 表示将输出文件保存到指定的目录中,HEAD:path/to/folder 表示要导出的文件或文件夹路径。如果要导出整个仓库中的所有文件,可以将 HEAD:path/to/folder 替换为 HEAD
  2. 运行以上命令后,Git 会将指定的文件或文件夹打包成一个压缩文件,并将其保存到指定的目录中。

如果您需要保留 Git 的历史记录和元数据,可以考虑使用 Git 的 git clone 命令将整个仓库克隆到本地,并使用其他工具来管理和导出修改的文件。


2.2 将git未提交的文件导出来

gitlab 导出word报告 git导出文件_gitlab 导出word报告_02


如果您想将 Git 中已经修改但未提交的文件导出到本地磁盘中,可以使用 git diff 命令和一些 shell 命令来实现。

具体步骤如下:

  1. 打开命令行终端,并进入 Git 仓库所在的目录。
  2. 运行以下命令来查看未提交的修改内容:

git diff > changes.patch

  1. 这个命令将把未提交的修改内容输出到标准输出流中,并将输出保存到名为 changes.patch 的文件中。
  2. 现在,您可以使用 patch 命令来将修改应用到另一个 Git 仓库中,或者手动编辑文件并将其保存到本地磁盘中。

patch -p1 < changes.patch

  1. 这个命令将根据 changes.patch 文件中的修改内容来更新当前目录下的文件,并将这些修改标记为已经应用。请注意,如果修改的文件在其他 Git 分支或者其他 Git 仓库中也被修改过,那么 patch 命令可能会遇到冲突,需要手动解决。
    如果您只想将修改应用到单个文件中,可以使用以下命令:

git diff path/to/file > changes.patch

patch < changes.patch

  1. 这个命令将只将指定文件的修改应用到本地磁盘中。
  2. 如果您不需要将修改应用到其他 Git 仓库中,可以直接手动编辑文件并将其保存到本地磁盘中。

git diff path/to/file > changes.patch

vi path/to/file

  1. 这个命令将使用 Vim 编辑器打开指定文件,并允许您手动编辑文件内容。编辑完成后,按 Esc 键退出编辑模式,并输入 :wq 命令保存文件。

希望这些步骤可以帮助您将 Git 中未提交的文件导出到本地磁盘中。


2.3 实践

背景: 项目1 完成功能修改,需要将修改的文件【未提交】移植到项目2中【项目2是项目1的基础上初始化而来,但是项目2已经有了很多不同之处】这里的功能修改则是相同的。


项目1 

git diff > ~/changes .patch

gitlab 导出word报告 git导出文件_导入文件_03

项目2

patch -p1 < ~/changes.patch

gitlab 导出word报告 git导出文件_导入文件_04

 

gitlab 导出word报告 git导出文件_导出文件_05

修改和测试结果正常~ ✅


⚠️⚠️

要善于使用工具,利用工具,高效工作,节省时间,去做更加有意义,淦兴趣的事情。





后续补充

...

3.问题/补充

TBD

4.参考

参见上面文档列表

后续补充

...