You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Git技术问询:如何将代码变更推送到非master分支?以及如何将feat/plan分支的变更推送到feat/api分支?

没问题,咱们把你的两个Git问题拆解成清晰可操作的步骤来解答:

1. 如何将代码变更推送到非master分支
  • 首先确认你当前在正确的本地分支上。运行以下命令查看当前分支和所有本地分支:

    git branch
    

    带星号(*)的就是你当前工作的分支。如果不在目标分支上,切换过去:

    git checkout 你的分支名
    

    (如果你的Git版本是2.23及以上,也可以用git switch 你的分支名,更直观)

  • 如果你还没提交本地变更,先完成提交:

    git add .
    git commit -m "这里写有意义的提交说明,比如:修复XX功能bug"
    
  • 接下来把变更推送到远程的非master分支。如果是第一次推送这个分支到远程,用-u参数绑定上游分支(这样后续推送只需要git push即可):

    git push -u origin 你的分支名
    

    如果之前已经推送过这个分支,直接运行:

    git push
    
2. 将已推送到dev分支的feat/plan变更同步到feat/api分支

既然你已经把feat/plan的变更合并到了dev,而feat/api同样基于dev分支创建,那我们可以通过同步dev的更新到feat/api来获取这些变更,步骤如下:

  • 先切换到本地的feat/api分支:

    git checkout feat/api
    
  • 拉取远程feat/api的最新版本,确保本地代码是最新的:

    git pull origin feat/api
    
  • 将包含feat/plan变更的dev分支合并到feat/api:

    git merge dev
    

    如果出现合并冲突,在代码编辑器里解决冲突后,提交冲突解决结果:

    git add .
    git commit -m "合并dev分支到feat/api,同步feat/plan的变更"
    
  • 最后把更新后的feat/api推送到远程:

    git push origin feat/api
    

备选方案:只迁移feat/plan的特定提交

如果你不需要dev分支的所有变更,只想把feat/plan里的某几个提交迁移到feat/api,可以用git cherry-pick精准操作:

  • 先获取你需要的feat/plan提交的哈希值。切换到feat/plan分支或者直接用git log查看:

    git log --oneline
    

    复制你需要的提交的7位哈希码。

  • 切换到feat/api分支:

    git checkout feat/api
    
  • 执行cherry-pick命令迁移指定提交:

    git cherry-pick <提交哈希值>
    

    如果有多个提交,用空格分隔哈希值:

    git cherry-pick 哈希1 哈希2 哈希3
    
  • 如果出现冲突,解决后继续完成cherry-pick:

    git add .
    git cherry-pick --continue
    
  • 最后推送到远程feat/api:

    git push origin feat/api
    

内容的提问来源于stack exchange,提问作者Swapnil Chaturvedi

火山引擎 最新活动