如何创建子分支?

jie*_*ede 7 git branch

我的git存储库有两个分支,masterbug.我想创建一个分支bug/rep.所以我跑:

git branch bug/rep
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

错误:无法解析引用refs/heads/bug/rep:不是目录致命:无法锁定ref'refs/heads/bug/rep'.

如何从bug分支创建子分支,比如bug/rep?我的git版本在Mac上是2.3.2.

Dan*_*ler 18

在git中,分支对应于.git子目录中层次结构中的实际文件.如果你创建一个名为的分支bug/sub,git将首先创建一个文件夹.git/refs/heads/bug(如果它尚不存在),并在该文件夹中创建一个名为subbranch 的文件.假定分支名称在内部解析.git/refs/heads,因此refs/heads+ bug/sub解析为文件系统中的实际位置.

您遇到的麻烦来自您的文件系统.既然你已经有一个名为分支bug,在.git/refs/heads那里是已经命名的文件bug.如上所述创建子分支将要求文件系统创建一个名为的新文件夹bug,但它不能,因为已经有一个名为的文件bug.

简而言之,您可以自由地创建分支层次结构,但层次结构的更高级别节点本身不能成为分支.


Rkm*_*039 8

用于创建新的子分支
git checkout -b <sub-branch-name>
// 子分支会在推送时自动创建
用于推送先前创建的子分支上的文件
git push -u origin <sub-branch-name> -u 用于设置上游参数


这里 origin 是 master 分支,添加了

git add remote origin master https://github.com/<ur-name>/repoName.git
Run Code Online (Sandbox Code Playgroud)

签出分支名称

git branch
Run Code Online (Sandbox Code Playgroud)

  • 这是错误的。这只是有关如何创建任何分支的通用信息。它不会按照您的要求创建子分支。 (8认同)
  • 仅供参考:我不相信你的答案的原因是它没有明确说明这是如何使子分支而不仅仅是主分支的分支。并不是说你错了(因为我是 github 的新手),只是作为一个新手,答案并没有给我足够的温暖模糊的感觉来使用它。资料来源:我现在正在尝试创建一个子分支,到目前为止只在主分支上创建了分支 (4认同)