我需要来自特定版本项目的源代码(SonarQube项目),但我无法弄清楚如何从git中提取它。
我已将repo添加为远程(git add remote origin
)并从主分支中提取最新版本,但这不是我需要的版本。
我知道我需要的提交是d25bc0e
,但是当我尝试“git fetch origin master d25bc0e
”时,我收到错误“fatal: couldn't find remote ref d25bc0e
”。
可能是我做错了什么,我对Git不太熟悉。
答案 0 :(得分:11)
您无法提取特定提交。
点击“Pull a specific commit from a remote git repository”
了解详情克隆后,你可以签出一个特定的提交(但你会在detached branch mode,如果你需要做的就是读,而不是提交,那就没问题了。
git checkout d25bc0e
如果您必须进行一些修改,从该提交开始,您将创建一个新分支:
git checkout -b newBranch d25bc0e
注意:自2014年10月起,您可能只能在远程服务器允许的情况下fetch only one commit(Git 2。5,2015年6月)。
但在这里,我仍然会推荐经典的工作流程(克隆+结账)。
答案 1 :(得分:0)
如果您想获得特定版本。您可以通过提交ID获取它。
您可以在日志中获取提交ID。
首先尝试 git log 以获取特定的提交ID
然后尝试
git reset --hard commit_id
但是这不允许你提交版本。这是特定版本的只读。