如何删除 git 中的选择性隐藏?

OmG*_*esh 2 git github git-stash

我有藏匿清单,想有选择地删除其中一些。

对于我的示例,我想删除 stash@{1}、stash@{3}、stash@{4}、stash@6}

$git 存储列表

stash@{1}: Tests On branch1-om: Test for #8
stash@{2}: WIP On branch1-om: WIP for #12
stash@{3}: Temp on branch1-om: 0a447303 Add Unit Tests for the HttpClient
stash@{4}: To delete stash: 233abc813c fix
stash@{5}: WIP on branchn-test-om: 4a42e4 WIP: Commit
stash@{6}: On branch-test-om: projects deleted/modified when rebuilt
stash@{7}: My configurations: Apply my local dev configurations
Run Code Online (Sandbox Code Playgroud)

我的当前步骤非常重复:

$git stash drop stash@{1}

$git 存储列表

stash@{1}: WIP On branch1-om: WIP for #12
stash@{2}: Temp on branch1-om: 0a447303 Add Unit Tests for the HttpClient
stash@{3}: To delete stash: 233abc813c fix
stash@{4}: WIP on branchn-test-om: 4a42e4 WIP: Commit
stash@{5}: On branch-test-om: projects deleted/modified when rebuilt
stash@{6}: My configurations: Apply my local dev configurations
Run Code Online (Sandbox Code Playgroud)

$git stash drop stash@{2}

$git 存储列表

stash@{1}: WIP On branch1-om: WIP for #12
stash@{2}: To delete stash: 233abc813c fix
stash@{3}: WIP on branchn-test-om: 4a42e4 WIP: Commit
stash@{4}: On branch-test-om: projects deleted/modified when rebuilt
stash@{5}: My configurations: Apply my local dev configurations
Run Code Online (Sandbox Code Playgroud)

$git stash drop stash@{2}

$git 存储列表

stash@{1}: WIP On branch1-om: WIP for #12
stash@{2}: WIP on branchn-test-om: 4a42e4 WIP: Commit
stash@{3}: On branch-test-om: projects deleted/modified when rebuilt
stash@{4}: My configurations: Apply my local dev configurations
Run Code Online (Sandbox Code Playgroud)

$git stash drop stash@{3}

$git 存储列表

stash@{1}: WIP On branch1-om: WIP for #12
stash@{2}: WIP on branchn-test-om: 4a42e4 WIP: Commit
stash@{4}: My configurations: Apply my local dev configurations
Run Code Online (Sandbox Code Playgroud)

900*_*000 7

问题是从顶部移除藏匿物会重新编号。但是由于您可以在任何位置删除它们,因此您无需表现得好像 stash 仅具有类似堆栈的访问权限。

从最远的地方放下它们,以保持数字完整:

for N in 6 4 3 1; do git stash drop stash@\{$N}; done
Run Code Online (Sandbox Code Playgroud)