V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
yujianwjj
V2EX  ›  git

git 临时切换分支

  •  
  •   yujianwjj · 360 天前 · 15072 次点击
    这是一个创建于 360 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家在开发过程中,遇到需要切换分支的情况,比如需要紧急修复一个线上 bug 。这个时候,是使用 git commit 临时保存本地代码还是使用 git stash 。

    122 条回复    2023-11-17 06:17:16 +08:00
    1  2  
    zbowen66
        101
    zbowen66  
       360 天前   ❤️ 1
    @flyqie #2 年轻啊,commit 可以随意丢弃重置啊,有 reflog 可以找回来,stash 丢了就真没了。误操作是一方面,我经历过硬盘损坏开不开机的情况,所以我临时 commit 也推送远程,然后 reset/rebase 回来
    11232as
        102
    11232as  
       360 天前
    git stash ,怕丢就 git diff HEAD .输出成 Patch 保存到本地,需要用的时候再把 Patch 打上来得了。
    littlewing
        103
    littlewing  
       360 天前   ❤️ 1
    当然是 commit

    后面再 reset 、rebase 、amend 都行啊
    littlewing
        104
    littlewing  
       360 天前
    我们都是先把代码拷贝一份然后再改呢
    Torpedo
        105
    Torpedo  
       360 天前
    我都是同一个项目多个副本。之前忙的时候,一个项目最多有三、四个
    JasonGrass
        106
    JasonGrass  
       360 天前
    worktree 啊,简直就是专门用来处理这种问题的。

    [git worktree 使用笔记 - J.晒太阳的猫 - 博客园]( https://www.cnblogs.com/jasongrass/p/11178079.html )
    Jony4Fun
        107
    Jony4Fun  
       360 天前
    @liuidetmks stash save 写上 message 不就好了?
    petercui
        108
    petercui  
       360 天前
    git worktree
    ClericPy
        109
    ClericPy  
       360 天前
    换电脑就 WIP 提交, 反正一个问题改完了也要修分支各种合并无效提交

    不换电脑 stash 够了, 不然单体仓库切换分支时候也够麻烦的

    很久以前看 Github flow 还是什么 flow 时候有过讲解, 太久了忘了..
    kilakilia007
        110
    kilakilia007  
       359 天前 via Android
    本地重新拉一个版本库,天知道 bug 要修到什么时候
    Pig930
        111
    Pig930  
       359 天前
    看了一圈大家的回复我还是觉得 git worktree 更好一点哈哈哈,如果 commit 带有一些 hooks 的话那就会避免一些解决问题的成本
    litchinn
        112
    litchinn  
       359 天前
    我使用 githubdesktop ,当我有代码没提交并切换分支时,它会提示,是 stash 还是将修改带到目标分支去,so ,我都是 stash
    Mjhhh
        113
    Mjhhh  
       359 天前   ❤️ 1
    我是在看到这个帖子之后,才想起我有一个两天之前的 stash ,我决定以后不用 stash ,真会忘记的。。
    sprite82
        114
    sprite82  
       359 天前
    @pkoukk #91 github/gitlab work flow 不是圣经,不是每个公司都是完全照搬的,都是人在操作,规范并不能限制他想干什么,他要是 rebase 了,他自己愿意多操作几个步骤关我什么事,而且这也不叫污染,污染是他最终直接 merge push 了,一个需求项 N 多提交记录。另外我加的基本和大多数你是直接对号入座了是吧,还有什么磁盘天天炸?
    SaigyoujiNono
        115
    SaigyoujiNono  
       359 天前
    我一般同时 clone 几个项目下来
    sprite82
        116
    sprite82  
       359 天前
    @20015jjw #57 不是不能,amend rebase reset 都是要多操作一些步骤的,人都是惰性的,没人管他他就随便搞了,我见过太多这样的人了
    XGF
        117
    XGF  
       359 天前
    git worktree 或者手动拉一个版本库,ignore 的文件怎么办,也复制过来?
    20015jjw
        118
    20015jjw  
       359 天前 via iPhone
    @sprite82
    骂就行了 per commit code review 安排
    流程问题别怪工具
    sprite82
        119
    sprite82  
       359 天前
    @20015jjw #118 我什么时候怪过工具了?又一个凭空猜测的
    sankooc
        120
    sankooc  
       359 天前
    commit stash 都可以 看个人习惯
    20015jjw
        121
    20015jjw  
       359 天前 via iPhone
    @sprite82 没说你鸭说原来的那个人
    ZE3kr
        122
    ZE3kr  
       359 天前
    不 push 上去的话电脑一丢,在没有其他备份的情况下,之前写了一半的分支不就丢了;就算有其他备份,commit+push 上去也更保险。我宁可多点垃圾 commit 也不愿意丢掉代码
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1140 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:37 · PVG 07:37 · LAX 15:37 · JFK 18:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.