你们 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 条回复
sagaxu
2018-07-31 09:26:14 +08:00
HongJay
2018-07-31 09:44:10 +08:00
我也是 svn 转的。。同样有这个问题
reus
2018-07-31 09:48:36 +08:00
……你直接把目录复制一份,不就是另一份代码了
bjfane
2018-07-31 09:50:25 +08:00
svn 是纯 copy 型分支,git 是指针型分支
手头的非常不完整,不想 commit,那 stash 没问题,而且 查看 stash list 也能看是在哪个分支上的,也有命令看差异,
如果是因为 新文件不习惯的话,可以尝试 commit,大不了 合并 commit 了 ,总的来说比 stash 更麻烦
xianyu0
2018-07-31 09:50:50 +08:00
git stash -u // 可以把未跟踪的文件也加入 stash
liuzhedash
2018-07-31 09:53:23 +08:00
@reus #3
文件比较多的项目,复制一次很麻烦的,如果有 node_modules 目录就更尴尬了
ahmcsxcc
2018-07-31 09:54:50 +08:00
同样有这个问题
newtype0092
2018-07-31 09:55:15 +08:00
stash 不应该是一个常用的功能,如果你频繁的在没有完成当前提交的情况下切换分支,说明你的工作流有问题吧,这里一脚那里一脚有什么效率可言啊。
自己一般来说最多两个 stash,再多可能都忘了之前在干嘛了,还不如删了重新写。
linuxchild
2018-07-31 10:20:09 +08:00
考虑一下 git flow ?
ttyant
2018-07-31 10:23:51 +08:00
来回倒版本的不是好程序员,git 不是为你而生
beny2mor
2018-07-31 10:26:37 +08:00
我用的不多,一般切换前先 commit,切换回来后可以使 git commit --amend 合并
woshifyz
2018-07-31 10:31:31 +08:00
一般都可以 commit,然后用 rebase 操作下就好了,核心是你要从概念上转过来,操作起来就如鱼得水
Biwood
2018-07-31 10:52:37 +08:00
执行 git stash 之前怎么着都得先 git add 一下吧,这样可以防止漏掉新文件,这是操作习惯的问题。

PS:楼主头像来自风骚律师,我也挺喜欢这部剧的镜头美感。
rockyou12
2018-07-31 11:11:49 +08:00
我也觉得 commit 算了,stash 挺容易搞错的,即便你不 rebase 最多就 commit 日志难看一点
hicdn
2018-07-31 11:46:36 +08:00
我一般是要做 hotfix 时,先在 dev 分支
git diff > current.patch
git reset --hard

等修复完切回 dev 分支
patch < current.patch
randyzhao
2018-07-31 12:01:32 +08:00
我都是先 commit -am 先
再回来的时候 reset --soft HEAD^
TabGre
2018-07-31 12:02:18 +08:00
@hicdn 这个 patch 是 git 的命令吗?
xmadi
2018-07-31 12:05:30 +08:00
先 commit 切到另外一个分支改 改完再切回来 reset 到之前的已经上
falcon05
2018-07-31 12:10:26 +08:00
还是开个分支吧
hicdn
2018-07-31 13:26:37 +08:00
@TabGre linux 系统命令

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

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

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

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

© 2021 V2EX