我正在尝试将存储库克隆到本地文件系统,然后 checkout 特定的提交。
这就是我所拥有的:
Git.Clone(GIT_REPO_URL, localPath, CLONE_OPTIONS).then((repo) => {
return repo.getCommit(version).then((commit) => {
// use the local tree
});
}).catch((error) => {
// handler clone failure
});
这很好地克隆了存储库,但我最终得到的本地版本是主版本的当前头,而不是我 checkout 的提交(版本
)。
如何更新本地树以匹配此提交?
谢谢。
最佳答案
getCommit
不修改本地树;它只是检索脚本中内存中的提交,以便您可以在不修改本地树的情况下使用它。 (例如,如果您想浏览 git 历史记录并进行一些分析,但不需要实际更新本地树来访问文件本身,这将很有用。)
要实际 checkout 特定分支或提交,您需要使用 checkoutBranch
和 checkoutRef
函数,它实际上更新本地工作树。 (请注意它们的描述是如何明确说明的,与 getCommit
不同,后者并没有说它修改了工作三项,因为它实际上并没有这样做)。
关于javascript - 如何使用提交版本更新本地路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42652259/