2016-11-14 47 views
1

This項目是this的一個分支。目前叉已經有15,549次提交,而原始提交了20,521次提交。是否有任何簡單的方法可以知道fork基於的原始項目中的提交?我如何知道github中項目的fork基礎?

我想到的想法是在本地克隆這兩個存儲庫。然後按順序從最新到最舊的順序提取分叉項目的每個提交哈希,並嘗試在父項目中找到相同的哈希。是否有一個更優雅的方法來實現相同?

+1

如果你需要做的是找到兩個分支之間的共同祖先,然後按[這可能是有幫助的(HTTP://計算器.com/questions/1549146/find-common-ancestor-two-branches)給你。 –

+0

[獲取兩個存儲庫之間的差異](http://stackoverflow.com/questions/1968512/getting-the-difference-between-two-repositories) – LeGEC

+0

另請參見:[git-diff克隆和原始遠程存儲庫(https://stackoverflow.com/questions/5162800/git-diff-between-cloned-and-original-remote-repository) – LeGEC

回答

0

Fork用於存儲庫,而不是分支,因此不只是一個提交是源。整個存儲庫都被克隆。

另外,通過拉取請求,原始文件可以從其分叉中更新,如果分叉具有更長的生命週期,它也會從原始文件更新。

This是GitHub建議如何同步存儲庫,您可以使用它來查找通用代碼和差異。

0

創建一個本地回購,兩個GitHub的鏈接作爲遙控器:

$ git clone https://github.com/tianocore/edk2 
$ cd ed2k 

# add second remote : 
$ git remote add 96boards https://github.com/96boards/edk2 
$ git fetch --all 

然後,您可以從兩個回購比較任意itels。

第一個回購中的分支可以使用origin/{branch name}來引用,第二個回購中的分支可以使用96boards/{branch name}來引用。

例如,要找到共同提交的分支主:

$ git merge-base origin/master 96boards/master