作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
基本问题,但这种情况一直发生在我身上:
working-branch
中进行更改master
git merge working-branch
git push
cap deploy
(到分期)然后我回来想别的事情并开始做一些改变......同时还在 master 上。
有什么简单的方法可以:
working-branch
清除master
这样我就可以继续编辑 working-branch
或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/
我是一名优秀的程序员,十分优秀!