你们 git stash 用的多么

2018-07-31 09:22:48 +08:00
 v2byy

以前使用 svn 的时候,每个 branch 都在本地有一份代码,这样方便在切换分支,在一个分支加 feature,可以很方便的在另外的分支上修 bug。

后来使用 git 之后,默认所有 branch 都位于在一份 copy 中,有的时候临时要切个分支,但有不想提交的时候,只能用 git stash 来暂存下改动。问题是这样很麻烦,有的时候 add 了新文件忘记 stage,git stash pop 出来有问题。

当然也可以使用 git 来 checkout 不同分支,不同 copy。

大家是怎么做的呢?

8351 次点击
所在节点    git
51 条回复
renothing
2018-07-31 23:06:21 +08:00
先 commit,后面切回去继续改了后--amend 追加提交。
leafiy
2018-07-31 23:14:45 +08:00
amend 正解
johnnie502
2018-07-31 23:25:15 +08:00
直接 commit 一个 temp,那边弄完以后回来再 reset HEAD~1
tomato3
2018-07-31 23:51:23 +08:00
```
git stash -k
git pull
git stash pop
```
twistedmeadows
2018-08-01 00:59:06 +08:00
可能你需要再多了解下 reset 和 rebase 那些操作的细节。
例如 reset --hard、reset --soft

我不怎么用 stash,要临时切 branch 的时候都是先顺手 commit -a。这种 commit 我不会认真地写内容,只填 tmp save 之类的,下次切回来就知道当前 commit 只是这个 branch 下的临时存档。
等到当前 branch 上工作做完的时候,再 reset 回上一个正式的 commit 点,然后重新填写提交。

这样每个 branch 完成开发的时候都是整洁的,确保每次 commit 都是一次逻辑上独立的改动的话,还可以方便地回退和 cherry-pick。在开发过程中又足够敏捷,可以同时有多个 branch 处于施工状态——不过我在开太多 branch 时会主动意识到当前这个状态是很差的,会跟 leader 沟通工作分配的问题。


小心得就是:commit 是无痛的,可以积极使用 commit。
甚至,在 git 里除了 hard reset 这种破坏性操作,大多数操作都是可逆和无痛的。
zhilincom
2018-08-01 01:59:35 +08:00
我都是每次 stash 的时候加上描述信息和时间信息,还原环境的时候就使用 apply,不用 pop。
weixiangzhe
2018-08-01 02:16:08 +08:00
建议 git work tree
msg7086
2018-08-01 05:05:42 +08:00
Git 的优势就在于 Commit 和 Branch 都是免费的。Stash 我只有在马上要恢复 Working Directory 的时候,比如 Stash+Pull+StashPop 的组合命令,才会用 Stash。其他的时候有 Commit 为啥要用实现相同但更难用的 Stash 呢。

Feature branch 和 WIP commit 都是好东西。
houskii
2018-08-01 11:37:43 +08:00
commit 和 amend 都有 reflog 可以挽救,stash 如果误 pop 或者删了就很蛋疼了

好吧,其实还是因为我之前有一次从 A 切到 B 然后 stash 了,在 B 开发了很久切回 A 的时候已经忘记了 stash pop 这回事,导致又重新开发了一遍,然后开发快结束了才想起来,从此就不用 stash 了。。。
tt67wq
2018-08-01 11:49:47 +08:00
无情资本家拿人当畜生使,一个人好多个任务并行,经常要 stash 切其他分支
kuro1
2018-08-01 14:10:43 +08:00
=。= 一个人同时处理好几个 branch...

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

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

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

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

© 2021 V2EX