git 提交代码到别的分支

你现在的修改还在工作区(或暂存区)里,如果你想把它们直接提交到别的分支,而不污染当前分支,可以这样操作:


方法 1:切换分支再提交(推荐)

perl 复制代码
# 先暂存当前改动
git stash

# 切换到目标分支
git checkout 目标分支

# 取出改动
git stash pop

# 提交到目标分支
git add .
git commit -m "你的提交信息"

# 如果需要推送
git push origin 目标分支

这样改动只会落到目标分支,当前分支不会有任何记录。


方法 2:直接将当前修改提交到别的分支(不切换分支)

如果你的改动已经 git add 到暂存区,可以:

bash 复制代码
git commit -m "你的提交信息"   # 在当前分支生成一次提交
git branch temp                # 创建一个临时分支指向当前提交
git checkout 目标分支
git cherry-pick temp           # 把提交应用到目标分支
git branch -D temp             # 删除临时分支

这样可以不丢改动,但过程稍复杂。


方法 3:用 git commit--work-tree / --git-dir(高级玩法)

如果真的不想切换分支,可以用:

sql 复制代码
git --work-tree=. checkout 目标分支
git add .
git commit -m "你的提交信息"

不过这方式有风险,容易造成冲突,不建议日常用。


我建议你用 方法 1 ,既安全又直观。

如果你愿意,我还可以帮你写一个 一次性命令,直接把当前改动"搬运"到别的分支并保持当前分支干净。

你是想要我帮你做这个"一条命令搞定"的版本吗?

相关推荐
曹勖之1 分钟前
用Git在 Ubuntu 22.04(Git 2.34.1)把 ROS 2 工作空间上传到全新的 GitHub 仓库 步骤
git·ubuntu·github
MediaTea9 小时前
Python 第三方库:lxml(高性能 XML/HTML 解析与处理)
xml·开发语言·前端·python·html
西陵9 小时前
Nx带来极致的前端开发体验——使用MF进行增量构建
前端·javascript·架构
Nicholas689 小时前
flutter滚动视图之ProxyWidget、ProxyElement、NotifiableElementMixin源码解析(九)
前端
JackieDYH9 小时前
vue3中reactive和ref如何使用和区别
前端·javascript·vue.js
ZZHow102410 小时前
React前端开发_Day4
前端·笔记·react.js·前端框架·web
前端开发爱好者11 小时前
弃用 html2canvas!快 93 倍的截图神器
前端·javascript·vue.js
ss27311 小时前
手写MyBatis第39弹:深入MyBatis BatchExecutor实现原理与最佳实践
前端·javascript·html
leon_teacher11 小时前
HarmonyOS权限管理应用
android·服务器·前端·javascript·华为·harmonyos
lumi.11 小时前
HarmonyOS image组件深度解析:多场景应用与性能优化指南(2.4详细解析,完整见uniapp官网)
前端·javascript·小程序·uni-app·html·css3