我有一个典型的问题,如下所示:
1)我正在研究问题X,我为该问题做了2次提交,但是我被困在中间并没有将更改推送到我的远程仓库。
我在master分支上的git状态说
你的分支领先于2次提交。
2)我现在被分配了一个新任务,我想把我在主分支中做的2次提交推送到我现在要创建的本地分支中。
我尝试达到以下目的: 1)git log(在master上,注意到commit nos允许调用它们1111(用于提交1,旧提交)和2222(用于提交2,最新提交) 2)git checkout -b my_local_branch 3)git cherry-pick 1111
现在,存在冲突。有人能告诉我,我应该做些什么。也许应用最新的提交,因为我觉得我的本地分支没有那些提交(我可能是错的),因为我做的时候
git status(在我的local_branch上),我没有看到我的分支在任何提交之前。
由于
答案 0 :(得分:1)
我想这会奏效。
在主分支上,运行git branch -b my-local
。检查您的提交1111和2222是否为O.K.
回到主分支:git checkout master
。
运行git rebase -i
,然后删除提交1111和2222。
现在主分支摆脱了1111和2222,你可以开始你的新任务了。 (并且承认1111和2222在你的当地分支机构。)