我只需要Chrome的指定版本的代碼,如r69297,它是Chrome的最新開發版本。 我使用git,所以我按照這裏的說明: http://code.google.com/p/chromium/wiki/UsingGit 但是,我同步所有的代碼,並檢查提交日誌後,我找不到此修訂! 然後我想到了標籤,並在這裏搜索。 How to use git to checkout a specified version of Webkit? 在這裏我發現了,但在按照所有步驟,並等待相當長的時間後,我仍然沒有得到任何東西。 鉻的git倉庫是否保留標籤信息?我怎麼能得到他們? THX如何從git獲取指定標籤版本的Chromium代碼?
6
A
回答
12
當有人問,鉻使用SVN。現在,git是主要的VC系統,所以我將使用git標籤/散列而不是r ####修訂版。
在這個答案中,我假設您已經設置了構建Chromium的前提條件(包括初始結賬)。如果你沒有那個,請繼續閱讀教程http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html。您可以跳過步驟gclient sync
,因爲您將在下面的步驟中替換依賴項。
場景:我想在最新的穩定Chromium版本上應用補丁。要了解最新的穩定版本,請訪問https://omahaproxy.appspot.com/。根據該頁面,最新版本是38.0.2125.104。如果您想查看上一個/下一個版本,請訪問http://blink.lc/chromium/refs/瞭解標籤概述。這個標籤列表包括未發佈的版本,例如, 38.0.2125.106(當基於第三個標識符的基線上應用了新修補程序時,最後的內部版本號會增加)。
# Inside chromium/src/
git fetch origin 38.0.2125.106
# Create a new branch "my_stable_branch" that is based on the just-fetched HEAD.
git checkout -b my_stable_branch FETCH_HEAD
# ... apply the patch ...
# (e.g. by editing the files)
# (e.g. by using git cherry-pick [commit id])
# (e.g. by using git checkout [commit id] [file path])
# Commit changes (assuming that you want to keep track of your changes)
git commit -va
# Now synchronize the dependencies to the current branch
gclient sync --with_branch_heads # --jobs 16 if you wish to use parallelism
# Now compile the release build. The output will be stored in src/out/Release.
ninja -C out/Release chrome chrome_sandbox
1
分行
如果你不能找到一個特定的承諾,我會檢查它是否比「大師」以外的分支。當你第一次克隆版本庫時,你只能得到「主」分支。您可以運行下面的檢出一個分支可在遠程鉻庫:
git branch new-local-branch origin/some-remote-branch
git checkout new-local-branch
顯然使用了正確的名稱爲遠程分支並命名當地分行的東西邏輯。
標籤
當你克隆一個Git回購,你應該在默認情況下得到的所有的標籤。您可以通過運行git tag
或git tag -l
來獲取所有已定義標籤的列表。
如果你沒有看到任何標記,可以明確地獲取他們:
git fetch --tags
一旦你有你想要的標籤,檢查它開始使用該版本的代碼庫:
git checkout <name of tag>
相關問題
- 1. 如何從git獲取特定版本的代碼?
- 2. 如何使用go獲取包的指定版本(標籤)?
- 3. 如何從代碼獲取Flutter版本?
- 4. 如何從標籤(包括子模塊)獲取代碼的確切版本
- 5. Github Branch,標記:如何獲取特定版本的代碼?
- 6. Git - 獲取日誌中使用的代碼/版本標識符
- 7. 在Visual Studio 2013中從TFS/Git獲取標籤版本
- 8. Git獲取特定版本
- 9. 從RTC獲取GIT版本
- 10. 獲取當前運行beanstalk版本標籤的Java代碼?
- 11. 指定代碼版本
- 12. AssemblyInfo的Git標籤版本
- 13. Git:我如何找到指向特定修訂版的標籤?
- 14. Git:如何從.gitattributes ident獲取特定版本的文件?
- 15. 如何從SVN簽出特定版本的代碼?
- 16. git版本相對於特定標籤
- 17. 從svn獲取代碼版本
- 18. Git標籤發佈版本?
- 19. 如何用git smart commit指定版本?
- 20. 如何獲取git中的最新版本標籤和與頭部的距離
- 21. 如何獲取特定版本的平臺包源代碼?
- 22. git:我如何獲得我的代碼的最新版本?
- 23. 如何從StarTeam(stcmd.exe)獲取帶標籤的代碼?
- 24. 獲取最新的穩定版本git
- 25. 如何從sonarqube中使用webservice api獲取特定版本的指標
- 26. 如何從JIRA REST API獲取指定的項目和指定版本
- 27. 如何獲取Chromium for Android的源代碼
- 28. git - 更改代碼版本?
- 29. 獲取簽出修訂版的git標籤?
- 30. 如何從客戶端獲取代碼.jar版本
你是什麼意思,「我還是什麼都沒有」?你能展示運行這些命令的結果嗎? – 2010-12-19 10:53:14
@Jean Hominal:沒有輸出。在git樹中不存在版本69297,只有r69298。 – ayanamist 2010-12-19 14:47:35
嘗試使用gitk查看Git存儲庫的歷史記錄 - 您可以通過其散列引用精確提交 – 2010-12-19 15:40:34