我的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(如果它尚不存在),并在该文件夹中创建一个名为subbranch 的文件.假定分支名称在内部解析.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 次 |
| 最近记录: |