git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
yujianwjj
V2EX  ›  git

git 临时切换分支

  •  
  •   yujianwjj · Nov 15, 2023 · 21234 views
    This topic created in 953 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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