gpt4 book ai didi

git - 如何将更改移出 master 分支

转载 作者:IT王子 更新时间:2023-10-29 01:06:22 24 4
gpt4 key购买 nike

基本问题,但这种情况一直发生在我身上:

  • working-branch 中进行更改
  • 切换到master
  • git merge working-branch
  • git push
  • cap deploy (到分期)
  • 泡一杯新茶

然后我回来想别的事情并开始做一些改变......同时还在 master 上。

有什么简单的方法可以:

  1. 防止直接编辑母版(可能是警告)
  2. 将所有编辑移至 working-branch清除master这样我就可以继续编辑 working-branch
  3. 将编辑旋转到一个全新的分支 new-working-branch然后丢弃 working-branch

冒险并尝试了 this page 的“分支”部分后半部分的建议。但这只是消除了我所有的编辑?!也许是因为在 git branch dubious-experiment 之后和 git checkout master git status在两个分支上是相同的(在主分支上不是“干净的”)。所以git reset --hard <SHA1sum>消除了两者的所有变化?!

  git branch dubious-experiment

M---N-----O----P---Q ("master" and "dubious-experiment")

git checkout master

# Be careful with this next command: make sure "git status" is
# clean, you're definitely on "master" and the
# "dubious-experiment" branch has the commits you were working
# on first...

git reset --hard <SHA1sum of commit N>

最佳答案

根据您的描述,我假设您还没有提交任何更改——对吗?

如果是,这是您的答案:

如何防止直接编辑母版

您需要在编辑器中进行设置,但这可能会很困难。在提示符和编辑器中显示当前分支有很大帮助。

如何将更改移动到新分支 new-working-branch 然后丢弃 working-branch

git checkout -b new-working-branch
git add …
git commit -m "mycommit"

因为你还没有向 master 提交任何东西,所以你不需要在 master 上改变任何东西。如果您愿意,现在可以丢弃您的工作分支。

如何将更改移至working-branch

git checkout -b temp-branch
git add …
git commit -m "mycommit"
git rebase --onto working-branch master
git checkout working-branch
git reset --hard temp-branch
git branch -d temp-branch

如果您的更改不与 master 上的任何更改发生冲突,但不与工作分支中的任何更改发生冲突,则可以更简单地完成此操作:

git stash
git checkout working-branch
git stash pop

关于git - 如何将更改移出 master 分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14506910/

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