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 ,既安全又直观。

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

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

相关推荐
万少3 小时前
HarmonyOS 开发必会 5 种 Builder 详解
前端·harmonyos
橙序员小站5 小时前
Agent Skill 是什么?一文讲透 Agent Skill 的设计与实现
前端·后端
炫饭第一名7 小时前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员
王晓枫8 小时前
flutter接入三方库运行报错:Error running pod install
前端·flutter
符方昊8 小时前
React 19 对比 React 16 新特性解析
前端·react.js
ssshooter8 小时前
又被 Safari 差异坑了:textContent 拿到的值居然没换行?
前端
曲折8 小时前
Cesium-气象要素PNG色斑图叠加
前端·cesium
Forever7_8 小时前
Electron 淘汰!新的桌面端框架 更强大、更轻量化
前端·vue.js
Angelial8 小时前
Vue3 嵌套路由 KeepAlive:动态缓存与反向配置方案
前端·vue.js
jiayu9 小时前
Angular学习笔记24:Angular 响应式表单 FormArray 与 FormGroup 相互嵌套
前端