如何按名称命名和检索Git存储?

9 浏览
0 Comments

如何按名称命名和检索Git存储?

如何保存/应用有名称的存储区?我不想在git stash list中查找其索引号。我尝试过git stash save \"my_stash_name\",但那只是改变了存储区的描述,而相应的git apply \"my_stash_name\"不起作用。

admin 更改状态以发布 2023年5月21日
0
0 Comments

git stash save已于2.15.x/2.16版本中不再推荐使用,您可以使用git stash push -m "message"

您可以像这样使用它:

git stash push -m "message"

其中 "message" 是您对于该stash的备注。

为了检索stash,您可以使用:git stash list。例如,这将输出一个这样的列表:

stash@{0}: On develop: perf-spike
stash@{1}: On develop: node v10

然后您只需使用apply并给它stash@{index}

git stash apply 1

参考
git stash手册

0
0 Comments

保存一个带有消息的存储区:

git stash push -m "my_stash_name"

或者(自v2.16起不推荐使用):

git stash save "my_stash_name"


列出存储区:

git stash list

所有的存储区都被存储在一个栈中。


弹出(即应用并删除)第n个存储区:

git stash pop stash@{n}

使用名称弹出(即应用并删除)一个存储区不可能使用git stash pop(见脚注1)。


应用第n个存储区:

git stash apply stash@{n}

使用名称应用一个存储区

git stash apply stash^{/my_stash_name}


脚注1:

  • 请参阅关于applyman git-stash部分:

    与pop不同,可以是任何看起来像由stash push或stash create创建的提交。

  • 可能的解决方法(已在git版本2.27和2.31上测试):

    git stash pop $(git stash list --pretty='%gd %s'|grep "my_stash_name"|head -1|gawk '{print $1}')

0