生产git的差异为新的文件未追踪

问题描述 投票:6回答:1

我常常发现,我想分享一个Git树的工作状态,而无需使用git diff和pastebins,电子邮件等当所有的变化是修改已跟踪文件能正常工作,使得提交/枝,但不是当有新文件参与其中。我可以用git add -N添加一个空文件跟踪的差异比较反对,但这是如果我要讨论的更改之前犯下其他的东西有问题(或者如果有问题的变化仅仅是垃圾我想扔掉)。有一种简单的方法来获得差异列表添加包含git diff新文件而不改变其存储库状态?到目前为止,我有什么是一个丑陋的脚本:

for i in "$@" ; do diff -u /dev/null "$i" | sed -e 's@^+++ @+++ b/@ ; done

这是最好的办法吗?

我不完全反对,只要是改变git的状态,因为它很容易在更改前恢复到完全状态替代解决方案(例如,用各种文件修改,一些阶段性的变化等)

git
1个回答
0
投票

您可以未经跟踪,修改或删除文件导出到像.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/

© www.soinside.com 2019 - 2024. All rights reserved.