我的git存储库有两个分支,master
和bug
.我想创建一个分支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
(如果它尚不存在),并在该文件夹中创建一个名为sub
branch 的文件.假定分支名称在内部解析.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
Run Code Online (Sandbox Code Playgroud)
签出分支名称
git branch
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10704 次 |
最近记录: |