Git 对不同的分支应用隐藏

Git 对不同的分支应用隐藏,git,git-stash,Git,Git Stash,我不小心在错误的分支上工作。现在,我想将所有更改转移到正确的分支 如果我将更改隐藏起来并将其应用到正确的分支上,它会只将未提交的更改添加到正确的分支上,还是只将错误分支上不存在的每个更改/提交添加到正确的分支上 例如 错误的分支机构: 犯 未提交的更改b 正确的分支有 提交c 如果我将git存储在错误的分支上,而git apply存储在正确的分支上,它会将commit a传输到正确的分支上吗 解决方法 使用所需的更改进行提交 签出到要启用这些更改的分支 从该分支git cherry pi

我不小心在错误的分支上工作。现在,我想将所有更改转移到正确的分支

如果我将更改隐藏起来并将其应用到正确的分支上,它会只将未提交的更改添加到正确的分支上,还是只将错误分支上不存在的每个更改/提交添加到正确的分支上

例如

错误的分支机构:

  • 未提交的更改b

正确的分支有

  • 提交c

如果我将git存储在错误的分支上,而git apply存储在正确的分支上,它会将commit a传输到正确的分支上吗

解决方法

  • 使用所需的更改进行提交
  • 签出到要启用这些更改的分支

  • 从该分支
    git cherry pick 23h123kjb
    (不,不会。提交不会被保存。
    有时,我也会在更改未提交和未缓存的情况下切换分支,并且它也会工作(但不确定是否在每种情况下都有效)。

    我会先进行一次隐藏,然后重置(混合,这样就不会丢失更改)a提交,将其隐藏,然后更改为正确的分支并弹出两个隐藏

    git stash save "b"
    git reset HEAD~
    git stash save "a"
    git checkout correct-branch
    git stash pop
    git commit -m "a"
    git stash pop
    

    如果您的分支还不存在:

    • 吉特藏匿处“新科”
    如果有:

    • 吉特隐藏分行“临时新分行”
    • git添加“您的更改”
    • git提交
    • git checkout“您希望应用隐藏的分支”
    • git合并“临时新分支”
    • git推送
    • git分行-d“临时新分行”
    您还可以做什么:

    • 在“错误”分支上创建修补程序
    • 放弃更改
    • 切换到正确的分支
    • 把补丁贴在那根树枝上

    否。提交不会被转移此解决方案的问题是,您最终会将不相关的工作提交到第一个分支!不会将其称为“问题”。可以轻松重置为第一个分支上的上一次提交。