有没有办法在GitHub上从特定的分支进行fork?例如,Moodle有许多分支(1.9、2.0等)。是否可以仅克隆1.9分支,而不总是克隆主分支?是否可以将特定分支克隆到我的PC上?
有没有办法在GitHub上从特定的分支进行fork?例如,Moodle有许多分支(1.9、2.0等)。是否可以仅克隆1.9分支,而不总是克隆主分支?是否可以将特定分支克隆到我的PC上?
我现在还不知道一种本地的方法,但是您可以按照以下步骤操作:
将源存储库设置为upstream:
git remote add upstream https://github.com/{user}/{source-repo}.git
获取完整的上游存储库。(现在,您只有其主分支的副本。)
git fetch upstream
让你的文件系统复制你想要的分支并给它任何名称:
git checkout upstream/{branch-in-question}
git checkout -b temporary
使用GitHub桌面应用程序发布您的存储库。
在shell中删除主分支并创建一个新的主分支:
git branch -d master
git branch master
git checkout master
git -d temporary
再次使用GitHub桌面应用程序发布您的存储库。
这应该是您要找的内容。也许GitHub将来会提供更方便的方法来完成这个过程(例如,从项目的分支中点击“Fork”将导致完全相同的行为)。
克隆意味着您在自己的账户中创建了整个仓库的副本,包括所有分支和标签。但是,您可以自由地切换和跟踪分支。
git branch -a
(迟做总比不做好)。 - Viktor Dahl是的,您可以克隆单个分支。例如,您有一个名为release1.0的分支。如果您想将此分支克隆到您的计算机上,则使用以下代码行:
$ git clone git@bitbucket.org:git_username/git_repository_example -b release1.0 --single-branch
确保安装了桌面客户端
克隆repo
git clone --single-branch
并不是真正的问题。 - MarcHgit remote
。
然后:
git remote rm origin
git config master.remote origin
git config master.merge refs/heads/master
// Run code from above image
git push --set-upstream origin yourbranchname
您将拥有一个新的仓库,其中包含原始仓库的代码和一个可以转换为拉取请求的分支。
解决方案:
针对 GitHub 上的远程存储库和本地存储库
在将所有分支 fork 到您的 GitHub 存储库后,您可以删除 GitHub 存储库中多余的分支。
然后,您只能克隆需要的分支到本地。
仅适用于本地存储库
git clone -b <branch name> --single-branch <repository>
如果您想进一步节省磁盘空间,可以克隆远程存储库而不包含历史记录:
git clone -b <branch name> --depth 1 <repository>
注意:--depth 参数意味着 --single-branch,除非给出 --no-single-branch 参数。
切换到你需要的源仓库分支。点击“Fork”。你会得到一个复制的主分支和你所在的分支。 我不知道多个分支是如何工作的,但对于我的需求而言效果非常好。
git help clone
。也许缩小你的问题并集中在第一个问题上会更好? - MarcH