2012-07-28 96 views
1

我想的Git樞紐工程的源代碼工作:git的樞紐工程版檢索

https://github.com/esheri3/OWASP-CSRFGuard

不過,我使用的jar具有明顯的看起來像這樣:

Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.8.2 
Created-By: 1.6.0_22-b04-307-10M3261 (Apple Inc.) 
Project-Lead: Eric Sheridan ([email protected]) 
Version: 3.0.0.503 

我從網站獲得的最新罐子的清單看起來像這樣:

Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.8.3 
Created-By: 1.6.0_16-b01 (Sun Microsystems Inc.) 
Project-Lead: Eric Sheridan ([email protected]) 
Version: 3.0.0.591 

我想知道如何檢索創建第一個清單編號的jar的整個代碼庫:3.0.0.503 不是最新的源代碼,而是過去的版本;這樣我可以根據自己的需要在我的系統上構建和修改。

我認爲在顛覆中要容易得多。 請注意,我已經克隆了我的系統上的git項目。 系統信息: 視窗7中,64位 msysgit 1.7.10 GIT中的擴展安裝

任何指針將不勝感激。

回答

1

找到創建該文件的提交。在Github中這很容易,因爲每個文件都顯示了最新的提交,它改變了它。您可以單擊該提交併獲取SHA1。

然後,您可以使用SHA1檢出在特定的代碼提交:

$ git checkout SHA1 
1

很抱歉,我無法找到版本503,但我確實發現了504。祝您好運!

如果您運行以下命令,您應該能夠獲得代碼的版本504。看慣的github怪的時候的版本改爲:

git checkout 04b240c1874c2176cab5fbc662a9676b085d7f1e 

來源。 Blame

2

該項目已選擇不標註使用Git版本。特定「版本」的唯一標誌是更新一個名爲Owasp.CsrfGuard/build.number的文件

所以理論上你需要閱讀這個文件的歷史(例如使用git log)來查看構建的時間那個文件中的數字被設置爲503,然後讓git檢出整個樹的特定版本。

這取決於項目所有者如何管理版本號,他們可能會讓事情在顛覆中變得困難。在這個具體項目的情況下似乎沒有韻或理由。 github的歷史直接從499跳到了504.所以我猜想,構建503可能根本就不存在,除非在某些開發人員的本地硬盤上,這意味着他們實際上並沒有進行正式的版本控制 - 只是一個專門的代碼下降到github。