与this question略有关系我想在shell脚本中使用临时分支。
有点像:
cd $(git rev-parse --show-toplevel) &&
git subtree split --prefix=some_subfolder -b temp &&
git push my_remote temp:publication_branch -f
现在,我不确定如果分支temp
已经存在会发生什么,无论如何我都不希望my_remote/publication_branch
上的结果依赖于此。而且我也不想修改分支temp
(假设我有一些不相关的东西)。充其量,我也会在最后进行清理
cd $(git rev-parse --show-toplevel) &&
git subtree split --prefix=some_subfolder -b temp &&
git push my_remote temp:publication_branch -f
git branch -D temp
所以我正在寻找的方法是创建一个尚不存在的临时分支名称,类似于mktemp
?是否有可以创建临时分支名称的git命令?
答案 0 :(得分:3)
对于此特定任务,您可以使用拆分而不使用-b
,使用此功能(来自其手册):
成功拆分后,会向stdout打印一个提交ID。这对应于新创建的树的HEAD,您可以根据需要进行操作。
所以
split_head=`git subtree split --prefix=some_subfolder`
git push my_remote "$split_head":publication_branch -f