有没有办法从远程Git回购中只检索一个特定的提交,而不将其克隆到我的PC上?远程回购的结构与我的完全相同,因此不会有任何冲突,但我不知道如何做到这一点,我不想克隆那个巨大的存储库。
我是新来的,有什么办法吗?
有没有办法从远程Git回购中只检索一个特定的提交,而不将其克隆到我的PC上?远程回购的结构与我的完全相同,因此不会有任何冲突,但我不知道如何做到这一点,我不想克隆那个巨大的存储库。
我是新来的,有什么办法吗?
当前回答
我查了一下我的git repo
git pull --rebase <repo> <branch>
允许git为分支拉入所有代码,然后我对我感兴趣的提交进行了重置。
Git reset——hard <commit-hash>
希望这能有所帮助。
其他回答
我认为'git ls-remote' (http://git-scm.com/docs/git-ls-remote)应该做你想要的。不用用力,取或拉。
我查了一下我的git repo
git pull --rebase <repo> <branch>
允许git为分支拉入所有代码,然后我对我感兴趣的提交进行了重置。
Git reset——hard <commit-hash>
希望这能有所帮助。
这样做效果最好:
git fetch origin specific_commit
git checkout -b temp FETCH_HEAD
将“temp”命名为你想要的任何名称…这个分支可能是孤儿
如果请求的提交是在远程回购的pull请求中,你可以通过它的ID获得它:
# Add the remote repo path, let's call it 'upstream':
git remote add upstream https://github.com/repo/project.git
# checkout the pull ID, for example ID '60':
git fetch upstream pull/60/head && git checkout FETCH_HEAD
最后,我找到了一种方法来克隆特定的提交使用git的樱桃。 假设你在本地没有任何存储库,你要从远程提交特定的文件,
1)在本地和git init中创建空仓库
2) git远程添加url-of-repository
3) git获取原点[这将不会移动您的文件到您的本地工作空间,除非您合并]
4)“输入你需要的”
完成了。这样,您将只有来自特定提交的文件在您的本地。
Enter-long-commit-hash:
你可以使用-> git log——pretty=oneline来获得