请注意:我明白我的问题是非常相似到这一个-但有一个细微的差别!请完整地准备好这个问题!
git的新手,我在项目的develop
分支上做了很多更改,而看来我应该先删除一个功能分支,develop
然后在此处进行更改。我已经添加(git add .
)和提交(git commit -m "blah"
)我的更改,但尚未推送。
我希望有一种方法可以:
develop
并将更改移到本地develop
,这样它,就好像我从来没有改变develop
摆在首位从我上面提到的问题来看,似乎正确的解决方案是这样的:
git checkout -b newbranch
git merge develop
git checkout develop
git reset --hard HEAD~X # Go back X commits
git checkout newbranch
问题是:这是一个非常活跃的项目,自从我开始进行本地更改以来,其他许多开发人员提交了许多(30+)承诺。
因此,我要确保HEAD~X
需要真正的价值!
理想情况下,我只想说:“嘿git
,无论远程控制是最新的develop
,是的,将我的本地设备设置develop
为提交,并完全删除/擦除我对它所做的任何更改。 ”
这可能吗?
您走在正确的轨道上。只需从本地develop
分支中的当前点创建一个新分支,然后重置您添加的提交:
# from develop
git branch newbranch
git reset --hard HEAD~1 # assuming you only made one commit
在意识到您的工作属于其自己的分支之前,请用您实际进行的多次提交替换1
in 。HEAD~1
develop
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句