git 的 stash 用的多吗?拿来干嘛呢?

2022-08-13 10:10:27 +08:00
 andyJado

我之前想干个啥就重开分支.

才学会 stash

5901 次点击
所在节点    git
54 条回复
wonderfulcxm
2022-08-13 18:24:43 +08:00
我也没用,直接 commit 到新的分支。stash 后如果做了修改,再切回来有点奇怪。还不如处理两个 commit 的冲突。
molvqingtai
2022-08-13 19:16:43 +08:00
经常用,但是有个问题 stash 不能写
@Rache1 #36
@hello2090 #38
感谢,又学到了
kwrush
2022-08-13 19:55:07 +08:00
我主要是同步主分支临时保存下,还有临时去修 bug 保存一下当前进度。commit 会跑一遍 git hook ,一是慢,二是代码没写好只能忽略错误
creanme
2022-08-13 19:58:58 +08:00
@hello2090 应该都可以吧,apply 不会动 stash 里面保存的,而 pop 是删除 stash 里面保存的,应用到现在目录。
Slurp
2022-08-13 20:03:33 +08:00
我又来宣传 gupa 了:
> where gupa
gupav: aliased to git pull --rebase --autostash

从远程这样拉的话,能够避免额外的 merge 。--autostash 选项相当于 在 git pull --rebase 之前 git stash ,之后 git pop 。
lovelylain
2022-08-13 20:35:41 +08:00
个人觉得不如 commit 好用,stash 后 merge 了其他提交,再 pop 的时候很容易冲突,解决冲突后还得单独 drop 掉,不然后面容易忘了 stash 究竟有没有合并,是哪个分支的。用 commit 就不会有这些问题,临时提交可以用 reset 还原成修改态
Roojay
2022-08-13 21:03:42 +08:00
使用 git-svn 的时候,这个就是神器。本地 git commit 完成之后 git svn dcommit 推送到 svn 仓库之前使用缓存不需要提交的文件
hello2090
2022-08-13 21:21:05 +08:00
@creanme 哦 那有可能,我一般不 pop, 丢掉是肯定的,从名字就可以看出来,不过确实有可能会 apply 上去。
ooops
2022-08-13 21:33:48 +08:00
是这样,你可以先记着有这个功能。等你有场景时能就会用到了。
DamonLin
2022-08-13 21:41:50 +08:00
我自己用的频率很高
lysS
2022-08-13 22:06:02 +08:00
我一般新拉一个。话说这算 git 的缺陷把,为什么不能自动 stash?
yoa1q7y
2022-08-13 23:31:24 +08:00
还有个用法,刚写了几行,不想提交,但是又想下班,可以把改动导出成一个 patch ,拿回家继续搞

git stash show -p stash@{0} > Stash0.patch

把 Stash0.patch 这个文件放到网盘或者 U 盘
darknoll
2022-08-14 01:18:16 +08:00
经常用
securityCoding
2022-08-14 11:37:26 +08:00
一般无脑用 commit ,后面提 MR 的时候 Squash 合成一个(项目组强制)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/872573

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX