Git 怎么显示出两个分支间没有 merge 的 commit

tiseheaini · 2016年01月02日 · 最后由 hooopo 回复于 2016年01月03日 · 6886 次阅读

fork 了 github 上的一个项目,大概时间在两个月前,自己修改了一部分代码,后来发现作者的项目提交了好多 commit。 我能否将项目最新代码和我本地代码比较,显示出自我 fork 那天到现在,作者有哪些 commit 被提交了嘛?? 或者说,我可以在 merge 最新的代码之前看看有哪些 commit 会被合并进来?求 git 经验丰富的前辈指点。

首先,推荐你使用 SourceTree,win 和 mac 都有,这样容易理解

解决方法很简单,当你 git push origin master 的时候 origin 指代你 fork 的在 github 上的 repo,这个术语上叫做 remote,在 sourcetree 左侧 remote 下也有体现,那么解决方法很简单,再建立一个原始项目 repo 的 remote 即可,推荐取名 upstream,之后你 fetch 之后,就能直观的看出 commits 的演进了

#1 楼 @jasl 这么说,git 应该是没有类似 dry-run 的命令了。

#1 楼 @jasl 貌似找到了一条命令,git log master..origin/master 可以看到两个分支进行 rebase 会有哪些 commit 会被合并

#2 楼 @tiseheaini 如果你理解不能的话,还是用 GUI 吧...

git cherry

需要 登录 后方可回复, 如果你还没有账号请 注册新账号