首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为新的未跟踪文件生成git diff

为新的未跟踪文件生成git diff
EN

Stack Overflow用户
提问于 2015-04-18 15:36:35
回答 1查看 7.1K关注 0票数 7

我经常发现,我希望在git树中共享工作状态,而不使用git diff和pastebins、电子邮件等进行提交/分支。当所有更改都是对已经跟踪的文件进行修改时,这是很好的,但当涉及新文件时就不行了。我可以使用git add -N来添加一个空的跟踪文件来对其进行区分,但是如果我要在所讨论的更改之前提交其他内容(或者所涉及的更改只是我想扔掉的垃圾),这是有问题的。有没有一种简单的方法可以在不改变存储库中的状态的情况下获得差异来添加git diff中包含的新文件?到目前为止,我得到的是一个丑陋的剧本:

代码语言:javascript
运行
复制
for i in "$@" ; do diff -u /dev/null "$i" | sed -e 's@^+++ @+++ b/@ ; done

这是最好的方法吗?

我并不完全反对改变git状态的替代解决方案,只要在进行更改之前很容易返回到确切的状态(例如,修改各种文件,进行一些更改,等等)。

EN

回答 1

Stack Overflow用户

发布于 2017-10-04 07:26:17

您可以将未跟踪、修改或删除的文件导出到像.tar.gz这样的存档中,并将它们发送给您的同事。您可以尝试以下方法:

  • 导出修改、移动和删除的文件 tar zvcf ~/new-files-cache.tar.gz `git diff --name-only --diff-filter=ACMRT`
  • 导出未跟踪(新)、修改和删除的文件 tar zvcf ~/new-files-cache.tar.gz ` git status --short | sed 's/^ *[^ ]* \(.*\)/\1/g' `

我在这里找到了解决方案:https://cmanios.wordpress.com/2014/04/12/export-untracked-modified-moved-and-deleted-files-from-a-git-repository-to-archive/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29719369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档