【发布时间】:2017-09-11 09:21:47
【问题描述】:
与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命令?
【问题讨论】:
-
我认为,如果您真的对名称冲突有这种偏执,那么您将会使用某种 UUID,但是 +1 是一个好问题。
-
我不认为 git 有办法做到这一点,但你可以使用你的命令行环境生成一个独特的临时分支,比如这个 bash 示例:
git branch temp_'date +%H-%M-%S-%N'(注意,它的意思是围绕“日期...”部分进行反引号 -
我会使用 max630 的答案,并且只想在评论中指出您遇到了信息学中的一个常见模式:如何命名事物的问题。我们经常想要一个独特的、令人难忘的名称,而这在我们添加名称空间之前变得非常难以管理。保证名称唯一的一种方法是使用 no 名称,如 max630 的回答!