gpt4 book ai didi

git - 如何配置 git 存储库,以便在克隆后 check out master 以外的分支?

转载 作者:太空狗 更新时间:2023-10-29 13:54:15 33 4
gpt4 key购买 nike

我正在尝试用一堆存储库设置一个 git 服务器。我打算使用 http://nvie.com/git-model 中描述的分支模型文章。所以我将在存储库中至少有两个分支(名为 masterdevelop)。

在克隆之后,master 分支被 git checkout 。是否有一个 git 配置选项,以便检查 develop 分支?

实际上我希望 git clone my_repo_url 表现得像 git clone -b develop my_repo_url

最佳答案

git clone将:

creates and checks out an initial branch that is forked from the cloned repository's currently active branch.

(即 HEAD 在该远程仓库中引用的位置)

因此,如果在远程服务器上使用 develop checkout repo,则任何克隆都将 checkout develop 分支。

但是,您的远程 git 仓库很可能是 bare repo 一个(没有工作树)以允许 pull 和推
在这种情况下,你需要确保它的 HEAD 指的是 develop 分支。
如果目前没有,克隆它,检查开发分支,推送一个简单的添加,并查看是否有任何后续克隆检查开发。

这只能证明裸仓库的 HEAD 会受到任何推送的影响。
所以真正的解决方案是 pre-receive hook (不是更新或提交 Hook ,因为它是裸仓库)在裸远程仓库上设置以确保 HEAD 指的是 develop 分支(如果存在),否则为 master。

备注:this thread提到你一般不能直接影响远程仓库上的 HEAD:

The remote command is about updating things under .git/refs/remotes, not about updating a remote server. For updating a remote server, there is really only push.

在 GitHub 上,一个 request exists在 GitHub(根据定义为裸)存储库上设置 HEAD。

关于git - 如何配置 git 存储库,以便在克隆后 check out master 以外的分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2879656/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com