相关疑难解决方法(0)

从git diff中排除目录

我想知道如何从我的Git diff中排除整个目录.(在这种情况下/规范).我正在使用git diff命令为我们的整个软件版本创建差异.但是,规范的更改与此过程无关,只会造成令人头疼的问题.现在我知道我能做到

git diff previous_release..current_release app/
Run Code Online (Sandbox Code Playgroud)

这将为app目录中的所有更改创建一个diff,但不会在lib /目录中创建.有谁知道如何完成这项任务?谢谢!

编辑:我只是想清楚,我知道我可以在最后编制所有目录的参数,减去/ spec.我希望有一种方法可以真正排除命令中的单个目录.

git

157
推荐指数
6
解决办法
6万
查看次数

确定目录中是否有任何文件更改过最新的Git提交

我正在为写一个post-commit钩子git。我想知道最新提交是否更改了特定目录中的任何文件。如果有任何更改,我可以继续并调用一些昂贵的代码,否则我可以跳过它。

所以,到目前为止,我得到的是像这样的简短哈希

# get last commit hash prepended with @ (i.e. @8a323d0)
function parse_git_hash() {
  git rev-parse --short HEAD 2> /dev/null | sed "s/\(.*\)/@\1/"
}
Run Code Online (Sandbox Code Playgroud)

现在,我需要确定指定目录是否有任何更改。但是我不确定该怎么做。我已经看了,用打git-loggit-show,但没有成功为止。

所以,我需要做这样的事情。

if [directory-changed()] {
  echo "start expensive operation"
}
Run Code Online (Sandbox Code Playgroud)

这实际上使我进入了其中:实际上,它捕获了最后一次提交而不是指定的提交。

git log  -U a79851b -1 my/directory/path
Run Code Online (Sandbox Code Playgroud)

提前致谢。

git githooks

6
推荐指数
1
解决办法
3630
查看次数

标签 统计

git ×2

githooks ×1