Git - 仅将更改的文件拉到单独的文件夹中

Posted

技术标签:

【中文标题】Git - 仅将更改的文件拉到单独的文件夹中【英文标题】:Git - pull only changed files into a separate folder 【发布时间】:2018-01-24 13:36:24 【问题描述】:

情况:我想做一个 git pull,但是新文件必须移动到离线机器上。

问题是:是否可以仅将自当前提交以来更改的文件下载到新文件夹中?如果它会保留文件夹结构,那也很棒!

【问题讨论】:

你可以试试这个tosbourn.com/using-git-to-create-an-archive-of-changed-files 这听起来很混乱。 :// this 更好吗? 将记忆棒上的文件夹用作离线机器的远程解决方案吗?您可以 git pull,将 repo 复制到棒,将其粘贴到离线机器中并从棒中 git pull? 哇,我从来没有想过这个问题,但是如果我们能够设法让 pendrive 像 web 应用程序一样可以高速访问,这可能会成功。 【参考方案1】:

您可以编写一个 shell 脚本来执行此操作。

假设您在 master 分支上,并且您的更改在 origin 远程:

    通过git fetch origin 获取最新更改 将您的工作目录更改为最新更改:git checkout origin/master 确定哪些文件已更改:git diff --name-status master..origin/master 将这些文件复制到新文件夹中 回到原来的分支:git checkout master

【讨论】:

为什么要创建一个临时分支?第 2 步可以简化为 git checkout origin/master(它只是创建一个分离的 HEAD)。 你说得对,我猜只是习惯。结果编辑了我的答案,谢谢! 如果有大约 200 个文件怎么办?我不能只是复制粘贴它们(我的意思是我可以,但很严重)。一定有更简单的方法。

以上是关于Git - 仅将更改的文件拉到单独的文件夹中的主要内容,如果未能解决你的问题,请参考以下文章

如何仅将提交的文件名导出到 git 中的 txt 文件? [复制]

Charles:仅将请求正文导出为单独的 JSON 文件 [关闭]

有 git --super/--force pull 命令吗?

把git上微信小程序项目拉到本地运行

将文件恢复到以前的版本后 git diff 没有显示差异?

如何仅将 git 存储库的子目录部署/推送到 Heroku?