如何创建子分支?
How to create a sub branch?
我的 git 存储库有两个分支,master
和 bug
。我想创建一个分支 bug/rep
。所以我 运行 :
git branch bug/rep
这给出了错误:
error: unable to resolve reference refs/heads/bug/rep: Not a directory
fatal: Cannot lock the ref 'refs/heads/bug/rep'.
如何从 bug
分支创建子分支,例如 bug/rep
?
我的 git 版本是 Mac.
上的 2.3.2
在git中,分支对应于.git
子目录中层次结构中的实际文件。如果您创建一个名为 bug/sub
的分支,git 将首先创建一个文件夹 .git/refs/heads/bug
(如果它尚不存在),并在该文件夹中创建一个名为 sub
的文件] 这是分支。假定分支名称在 .git/refs/heads
内解析,因此 refs/heads
+ bug/sub
解析为文件系统中的真实位置。
您遇到的问题来自您的文件系统。由于您已经有一个名为 bug
的分支,因此在 .git/refs/heads
中 已经 一个名为 bug
的文件。如上所述创建子分支需要文件系统创建一个名为 bug
的新文件夹,但它不能,因为那里已经有一个名为 bug
.
的文件
简而言之,您可以自由创建分支层次结构,但层次结构中更高级别的节点本身不能成为分支。
用于创建新的子分支
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
查看分支名称
git branch
我的 git 存储库有两个分支,master
和 bug
。我想创建一个分支 bug/rep
。所以我 运行 :
git branch bug/rep
这给出了错误:
error: unable to resolve reference refs/heads/bug/rep: Not a directory fatal: Cannot lock the ref 'refs/heads/bug/rep'.
如何从 bug
分支创建子分支,例如 bug/rep
?
我的 git 版本是 Mac.
在git中,分支对应于.git
子目录中层次结构中的实际文件。如果您创建一个名为 bug/sub
的分支,git 将首先创建一个文件夹 .git/refs/heads/bug
(如果它尚不存在),并在该文件夹中创建一个名为 sub
的文件] 这是分支。假定分支名称在 .git/refs/heads
内解析,因此 refs/heads
+ bug/sub
解析为文件系统中的真实位置。
您遇到的问题来自您的文件系统。由于您已经有一个名为 bug
的分支,因此在 .git/refs/heads
中 已经 一个名为 bug
的文件。如上所述创建子分支需要文件系统创建一个名为 bug
的新文件夹,但它不能,因为那里已经有一个名为 bug
.
简而言之,您可以自由创建分支层次结构,但层次结构中更高级别的节点本身不能成为分支。
用于创建新的子分支
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
查看分支名称
git branch