Bla*_*bam 6 git version-control git-stash
我已经发现了什么:
git stash list
Run Code Online (Sandbox Code Playgroud)
...列出我所有的藏品。
git stash show -p stash@{0} --name-only
Run Code Online (Sandbox Code Playgroud)
列出该存储中的所有文件(此处为位置 0 处的最新存储)。
现在我有一个项目,其中有数百个旧的隐藏更改,这些更改将不再需要。我知道我可以将它们全部删除:
git stash clear
Run Code Online (Sandbox Code Playgroud)
...或像这样删除单个存储(随后删除包含 87 个存储的存储):
git stash drop stash@{87}
Run Code Online (Sandbox Code Playgroud)
不过我想删除存储 3-107。带着冒险的猜测,我尝试了:
git stash drop stash@{3-107} -- does not work
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
编辑:我们必须向后循环,因为删除存储会更改所有存储的索引。
git stash drop一次不接受多个修订;
$ git stash drop stash@\{{4..1}\}
Too many revisions specified: 'stash@{4}' 'stash@{3}' 'stash@{2}' 'stash@{1}'
Run Code Online (Sandbox Code Playgroud)
您可以通过 shell 中的循环来实现此目的。例如在bash;
$ for i in {4..1}; do
> git stash drop stash@{$i};
> done
Dropped stash@{4} (175f810a53b06da05752b5f08d0b6550ca10dc55)
Dropped stash@{3} (3526a0929dac4e9042f7abd806846b5d527b0f2a)
Dropped stash@{2} (44357bb60f406d29a5d39ea0b5586578223953ac)
Dropped stash@{1} (c97f46ecab45846cc2c6138d7ca05348293344ce)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5155 次 |
| 最近记录: |