git stash Shelve 假如一个人基于dev分支开发三个功能,这三个更需要并行开发,有时候功能1开发到一半 需要开发功能2 反复切换分支,怎么管理不混乱,用到git哪些功能

假如一个人基于dev分支开发三个功能,这三个更需要并行开发,有时候功能1开发到一半 需要开发功能2 反复切换分支,怎么管理不混乱,用到git哪些功能

在使用 Git 进行并行开发时,遇到需要在不同的功能分支间切换的情况,可以通过以下几种方法来管理,以确保不混乱:

  1. 使用 git stash

    • 当你在开发功能1时,需要切换到功能2,可以使用 git stash 命令将当前工作区的修改暂存起来,然后切换到功能2的分支。完成功能2的开发后,切回功能1的分支,使用 git stash apply 恢复之前暂存的修改。
    # 在功能1分支上执行
    git stash
    
    # 切换到功能2分支
    git checkout feature-2
    
    # 在功能2上完成开发
    
    # 切换回功能1分支
    git checkout feature-1
    
    # 恢复之前暂存的修改
    git stash apply
    
  2. 使用多个工作目录(git worktree):

    • git worktree 允许你在同一个仓库中创建多个工作目录,每个目录可以对应一个分支。这样,你可以在不同的目录下并行开发不同的功能,而无需频繁切换分支。
    # 在仓库根目录执行
    git worktree add -b feature-2 ../feature-2-branch
    
    # 进入新的工作目录
    cd ../feature-2-branch
    
    # 在这个目录下完成功能2的开发
    
  3. 使用 git commit

    • 如果功能1和功能2的开发不会相互影响,也可以在功能1未完成时,将功能1的修改提交到本地仓库,然后切换到功能2的分支进行开发。这样,在不同的分支上都有一个完整的提交记录,可以更灵活地进行切换。
    # 在功能1分支上执行
    git add .
    git commit -m "Partial completion of feature 1"
    
    # 切换到功能2分支
    git checkout feature-2
    
    # 在功能2上完成开发
    

选择哪种方式取决于你的团队和项目的具体情况。通常,git stashgit worktree 是在单个工作目录中进行并行开发的常用方式。记住,为每个功能分支创建一个专用的分支,合并到主分支之前确保测试通过,可以减少冲突和混乱的可能性。


参考:
善用Git的stash和unstash,让你的idea工作的更加丝滑起来-今日头条
https://www.toutiao.com/article/6980720409658409486/?source=aweme_search

Shelve,Stash和Local History - 知乎
https://zhuanlan.zhihu.com/p/638983619

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值