git提交A时导致Submitted, Merge Pending, A依赖B(B状态为ABANDONED )

来源:互联网 发布:js接口安全域名 备案 编辑:程序博客网 时间:2024/06/14 19:09

问题描述:

chang A做git提交时,产生了Submitted, Merge Pending,同时发现:A依赖于B,而B为ABANDONED状态,怎样才能将A正确的merge呢?

解决方案:

1.先看一下最近做的几次提交依赖关系:

#git log --graph --decorate --oneline* ec455f2 (HEAD, refs/published/wyqbranch, wyqbranch) Change A* 3b28e7b Change B* 405c075(tag: master_v1.0.0.0, m/letv_master, letv/master, master)Change C

注:change A为最后一次提交的版本; change B 为 A的前一次提交(已被abandoned);change C为B的前一次提交,已经merged;

2.在当前分支wyqbranch,(若无分支,则需要建立分支:repo start tmpbranch),reset到change C,因为change C是已经merged 了,移除已被丢弃的change B:

#git reset --hard 405c075HEAD is now at 405c075 change C#git log --graph --decorate --oneline* 405c075 (HEAD, wyqbranch, master) change C

3.Cherry pick your change A into the master

#git cherry-pick  ec455f2

4.若第三步failed,那么就将change A重新做一次提交:

#git status.On branch wyqbranchChanges to be committed:   (use "git reset HEAD <file>..." to unstage)    new file:   Zcr.cpp    new file:   Zcr.h Unmerged paths:   (use "git reset HEAD <file>..." to unstage)   (use "git add/rm <file>..." as appropriate to mark resolution)    both modified:      Spect.cpp    both modified:      Spect.h#git add Spect.cpp Spect.h Zcr.cpp Zcr.h#git commit -s #repo upload .

至此,应该会成功提交,到网页review和mergerd就可以了,注意,在执行#git commit -s 时,添加commit,有可能打开就有commit,注意此时要删掉里面的change ID。

0 0
原创粉丝点击