在主机上手动执行命令与在Jenkins管道上执行命令的结果不同

doinxwow  于 2022-11-02  发布在  Jenkins
关注(0)|答案(1)|浏览(291)

我正在尝试用Jenkins管道git add & git commit文件。问题是当我在主机上手动执行命令时,我得到的结果与通过jenkinsfile得到的结果不同。
当我执行下列任一项时:

git add './*/some_dir/sub_dir/*'
git add ./*/some_dir/sub_dir/*
git add */some_dir/sub_dir/*

我得到了我想推送的文件的确切列表。jenkinsfile中的同一个命令添加了工作目录中的所有文件。我已经尝试了一个不同的命令,如(与上面的结果相同):

find . -path '*/some_dir/sub_dir/*' | xargs git add

还有一种完全相反的做法:

git add . 
find . ! -path '*/some_dir/sub_dir/*' | xargs git reset

另一方面,这会删除所有添加的文件,没有什么可提交的(当然,手动执行它也可以很好地工作,只留下那些我想推送的文件)。
你知道为什么吗?

ecfdbz9o

ecfdbz9o1#

看起来问题出在我在'git add'之前创建一个新的空分支所用的命令上:

git checkout --orphan temp_branch

当我用“git status”检查时,工作目录中的所有文件都已经准备好提交了。但我还是不明白为什么一个新创建的空分支应该已经添加了工作目录中的所有文件。

相关问题