请教个 git 的问题

2016-08-24 19:09:35 +08:00
 kevin1852
问题是这样的,
* 我从 develop 分支上 checkout 出一个 feature 分支(a)
* 然后完成了以后 pull 了 develop
* 然后 merge 了 develop 后发了 pull request
* 然后 merge 了
* 然后到现在为止中间有其他人 pull request&merge

我先在想退回到我 checkout 分支 a 之前,并保留其他人的修改,怎么做?
谢谢大家
2867 次点击
所在节点    程序员
7 条回复
xiubin
2016-08-24 19:19:02 +08:00
你的意思就是 不要 a 但是要其他分支的代码呗?

[http://sanyucz.top/2016/03/25/Git-0/]( http://sanyucz.top/2016/03/25/Git-0/)

直接拖到最后看就可以了
wittyfox
2016-08-24 19:29:12 +08:00
你这能不能好好说问题。
wittyfox
2016-08-24 19:29:58 +08:00
还要大家猜你的意思
royzhanggy
2016-08-24 19:41:47 +08:00
revert 你自己的 pr , pull 最新的代码就行了,还有 rebase 就 rebase ,不要 merge 最新的代码来达到 rebase 的效果,这才是好习惯
billlee
2016-08-24 20:02:23 +08:00
方案一:
git checkout a
git rebase -i develop, 把那个引入 merge 的 commit 删掉
这样 a 分支上应该就只有你的 commits 了。

方案二
git checkout -b b develop
然后用 cherry-pick 把 a 分支上你自己的 commit apply 到 b 上,然后删掉 a 分支
kevin1852
2016-08-24 20:36:29 +08:00
@xiubin
@royzhanggy
@billlee
谢谢,已经搞定了

@wittyfox 确实表述的有点乱。。
zhanfenghai
2016-08-25 09:53:16 +08:00
可以把 a 回退到最初的 然后再把同事的合过来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/301544

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX