大家在开发过程中,遇到需要切换分支的情况,比如需要紧急修复一个线上 bug 。这个时候,是使用 git commit 临时保存本地代码还是使用 git stash 。
101
zbowen66 2023-11-15 20:37:40 +08:00 1
@flyqie #2 年轻啊,commit 可以随意丢弃重置啊,有 reflog 可以找回来,stash 丢了就真没了。误操作是一方面,我经历过硬盘损坏开不开机的情况,所以我临时 commit 也推送远程,然后 reset/rebase 回来
|
102
11232as 2023-11-15 20:39:49 +08:00
git stash ,怕丢就 git diff HEAD .输出成 Patch 保存到本地,需要用的时候再把 Patch 打上来得了。
|
103
littlewing 2023-11-15 20:41:52 +08:00 1
当然是 commit
后面再 reset 、rebase 、amend 都行啊 |
104
littlewing 2023-11-15 20:43:11 +08:00
我们都是先把代码拷贝一份然后再改呢
|
105
Torpedo 2023-11-15 20:52:44 +08:00
我都是同一个项目多个副本。之前忙的时候,一个项目最多有三、四个
|
106
JasonGrass 2023-11-15 21:30:06 +08:00
worktree 啊,简直就是专门用来处理这种问题的。
[git worktree 使用笔记 - J.晒太阳的猫 - 博客园]( https://www.cnblogs.com/jasongrass/p/11178079.html ) |
107
Jony4Fun 2023-11-15 21:33:32 +08:00
@liuidetmks stash save 写上 message 不就好了?
|
108
petercui 2023-11-15 22:15:36 +08:00
git worktree
|
109
ClericPy 2023-11-15 23:46:07 +08:00
换电脑就 WIP 提交, 反正一个问题改完了也要修分支各种合并无效提交
不换电脑 stash 够了, 不然单体仓库切换分支时候也够麻烦的 很久以前看 Github flow 还是什么 flow 时候有过讲解, 太久了忘了.. |
110
kilakilia007 2023-11-16 08:47:14 +08:00 via Android
本地重新拉一个版本库,天知道 bug 要修到什么时候
|
111
Pig930 2023-11-16 09:12:13 +08:00
看了一圈大家的回复我还是觉得 git worktree 更好一点哈哈哈,如果 commit 带有一些 hooks 的话那就会避免一些解决问题的成本
|
112
litchinn 2023-11-16 09:30:02 +08:00
我使用 githubdesktop ,当我有代码没提交并切换分支时,它会提示,是 stash 还是将修改带到目标分支去,so ,我都是 stash
|
113
Mjhhh 2023-11-16 09:41:09 +08:00 1
我是在看到这个帖子之后,才想起我有一个两天之前的 stash ,我决定以后不用 stash ,真会忘记的。。
|
114
sprite82 2023-11-16 09:52:22 +08:00
@pkoukk #91 github/gitlab work flow 不是圣经,不是每个公司都是完全照搬的,都是人在操作,规范并不能限制他想干什么,他要是 rebase 了,他自己愿意多操作几个步骤关我什么事,而且这也不叫污染,污染是他最终直接 merge push 了,一个需求项 N 多提交记录。另外我加的基本和大多数你是直接对号入座了是吧,还有什么磁盘天天炸?
|
115
SaigyoujiNono 2023-11-16 09:57:17 +08:00
我一般同时 clone 几个项目下来
|
116
sprite82 2023-11-16 09:58:27 +08:00
@20015jjw #57 不是不能,amend rebase reset 都是要多操作一些步骤的,人都是惰性的,没人管他他就随便搞了,我见过太多这样的人了
|
117
XGF 2023-11-16 13:31:51 +08:00
git worktree 或者手动拉一个版本库,ignore 的文件怎么办,也复制过来?
|
120
sankooc 2023-11-16 16:24:20 +08:00
commit stash 都可以 看个人习惯
|
122
ZE3kr 2023-11-17 06:17:16 +08:00
不 push 上去的话电脑一丢,在没有其他备份的情况下,之前写了一半的分支不就丢了;就算有其他备份,commit+push 上去也更保险。我宁可多点垃圾 commit 也不愿意丢掉代码
|