gpt4 book ai didi

GIT:在新/脏/开发分支中提交对旧/安全分支的更改,而不会 check out 或丢失未暂存的数据

转载 作者:IT王子 更新时间:2023-10-29 00:53:42 25 4
gpt4 key购买 nike

在开始开发一些实验性的东西之前,我创建了一个新分支。我通常会忘记这一点(这不是问题),但现在我事先做了。
从那以后,我更新了 3 个文件。

  • 在 2 中只是我不想提交到安全分支的实验性更改。
  • 在 1 中只是我绝对希望提交到安全分支的安全(次要)更改。我对将这些最后的更改也提交到新分支感到满意(但不是)。

  • 是否有可能——我确定是——(快速)将一些未暂存的、未提交的更改从我的(脏)工作目录提交到一个旧的、安全的分支?

    我唯一能想到的是切换分支(没有结帐),提交 1 个文件中的更改并切换回来,但我不知道切换回脏分支时更改会发生什么(它们还在吗?或者他们是否因为提交而“消失”了?)...

    我确信 GIT 有一些漂亮的东西,但 GIT 有这么多,我找不到完全相同的东西。
    (我一直在使用 this 'manual' for help 但我不确定里面是否有相同的东西。如果是(并且您愿意扫描该东西),请告诉我,以便我知道下次查看更难。)

    谢谢!现在,我将在手边保留一张纸,其中包含“稍后提交到安全分支”的更改。

    最佳答案

    所以你的情况是

    x--x--x (safe)
    \
    <a,b,c> (3 private evolutions in exp branch)

    你想去
    x--x--x--a (a committed only in safe banch)
    \
    b,c (b and c commited in exp branch)

    你可以:
    git add a
    git commit -m # in exp branch, gasp!
    git stash save # save the rest of the exp work in progress
    git checkout master
    git merge exp # fast-forward merge

    x--x--x--a (safe,exp)
    \
    [b,c] (stashed)

    git branch -f exp HEAD~1 # reset branch exp to before 'a'
    git checkout exp
    git stash pop
    git add -A
    git commit -m "..."

    x--x--x--a (a committed only in safe banch)
    \
    b,c (b and c commited in exp branch)

    关于GIT:在新/脏/开发分支中提交对旧/安全分支的更改,而不会 check out 或丢失未暂存的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3745774/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com