我常常发现,我想分享一个Git树的工作状态,而无需使用git diff
和pastebins,电子邮件等当所有的变化是修改已跟踪文件能正常工作,使得提交/枝,但不是当有新文件参与其中。我可以用git add -N
添加一个空文件跟踪的差异比较反对,但这是如果我要讨论的更改之前犯下其他的东西有问题(或者如果有问题的变化仅仅是垃圾我想扔掉)。有一种简单的方法来获得差异列表添加包含git diff
新文件而不改变其存储库状态?到目前为止,我有什么是一个丑陋的脚本:
for i in "$@" ; do diff -u /dev/null "$i" | sed -e 's@^+++ @+++ b/@ ; done
这是最好的办法吗?
我不完全反对,只要是改变git的状态,因为它很容易在更改前恢复到完全状态替代解决方案(例如,用各种文件修改,一些阶段性的变化等)
您可以未经跟踪,修改或删除文件导出到像.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' `