“如何制作git”;见;使用克隆的回购协议的远程分支--single branch?

“如何制作git”;见;使用克隆的回购协议的远程分支--single branch?,git,Git,我有一个git看不到origin/master的存储库。它最初是用“-single branch stable”选项克隆出来的。这是一个巨大的存储库,现在我还需要使用origin/master。我不想重新克隆整个回购协议,因为它非常庞大,而且需要很多时间 以下是遥控器: # git remote -v

我有一个git看不到origin/master的存储库。它最初是用“-single branch stable”选项克隆出来的。这是一个巨大的存储库,现在我还需要使用origin/master。我不想重新克隆整个回购协议,因为它非常庞大,而且需要很多时间

以下是遥控器:

# git remote -v                                                                                                                                                              
origin  git@gitlab.not_telling.com:group_name/project_name.git (fetch)
origin  git@gitlab.not_telling.com:group_name/project_name.git (push)
下面是“git日志”的第一行:

git已知的本地分支是
master
stable
。git已知的远程分支是
origin/stable
,但缺少
origin/master

如果我尝试将stable重置为origin/master:

git checkout stable
git reset origin/master --hard
fatal: ambiguous argument 'origin/master': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
如果我试图获取:

# git checkout master && git fetch -v
Already on 'master'
From gitlab.not_telling.com:group_name/project_name
= [up to date]        stable     -> origin/stable
另外,如果我尝试列出所有带有
git branch-a
的分支,则origin/master不在其中:

* master
  stable
  remotes/origin/stable

如何让git“了解”源代码/主代码?

您可以通过编辑.git/config文件并将主代码添加到远程“源代码”部分,将远程分支添加到获取列表中:

然后执行获取:

git fetch origin

现在,origin/master应该在本地存储库中显示为ref。(如果需要,您可能仍然需要创建本地主分支)。

我认为会有一个命令行用于此操作。但是编辑配置文件也一样好。从技术上讲,有一种命令行方法可以做到这一点,不止一种,但是一个Git命令专门做到这一点:
Git remote set branch
git remote
set branch
子命令同时具有“set”和“add”子模式,因此
git remote set branch--add master
应该完成这项工作。(也就是说,我实际上更喜欢自己编辑配置文件:-)
* master
  stable
  remotes/origin/stable
[remote "origin"]
    url = git@gitlab.not_telling.com:group_name/project_name.git
    fetch = +refs/heads/stable:refs/remotes/origin/stable
    fetch = +refs/heads/master:refs/remotes/origin/master
git fetch origin