Ben*_*old 5 git branching-and-merging git-branch
我有一个项目托管在我自己的个人git服务器上(它不在GitHub上).该master分支是一个陈旧的旧Cookie,而且我不需要它了.
几个月前,我创建了一个0.8/develop分叉的master,从那时起,我们已经经历了0.8/master,0.9/develop,0.9/master和我们目前对1.0/develop.我想摆脱master分支,主要是因为它与我们建立的命名约定不符.这只是家务管理的问题.
我在SO上发现了几个相关的问题,以及博客文章,但它们似乎都特定于使用GitHub,而不是我自己的私人服务器:
这些都具体说明了以下内容:
您需要转到分叉存储库的主GitHub页面,然后单击"设置"按钮.
当然,这不是一个选项,因为我没有使用GitHub.我猜我可以在我的裸仓库中编辑配置文件的内容以达到相同的效果.那是对的吗?配置文件目前看起来像这样:
[core]
repositoryformatversion = 0
filemode = true
bare = true
logallrefupdates = true
ignorecase = true
precomposeunicode = false
sharedRepository = group
[remote "origin"]
url = file:///Library/WebServer/Documents/loupe
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
1.0/develop),还是最左边的分支(0.8/develop)?首先确定在克隆存储库时哪个分支应该是默认分支.我假设new_master这个例子.
在其中一个客户端上创建new_master远程存储库上的分支,您可以使用任何内容master,例如提交或其他分支名称,或者如果您已在远程数据库上拥有合适的分支,则跳过此步骤.
git push origin master:new_master
Run Code Online (Sandbox Code Playgroud)
下一步无法从远程执行,因此请在远程存储库中执行该命令(例如,使用SSH):
cd /path/to/my_git_repo
git symbolic-ref HEAD refs/heads/new_master
Run Code Online (Sandbox Code Playgroud)
或者,HEAD直接更改文件的内容.
回到客户端:
git fetch
git remote show origin
Run Code Online (Sandbox Code Playgroud)
您应该看到的是,HEAD点new_master,而不是master(或者说HEAD是模糊的,如果你设置new_master为master).现在我们可以删除旧的主人:
git push origin :master
Run Code Online (Sandbox Code Playgroud)
Git不应再抱怨删除了.最后,设置本地refs/remotes/origin/HEAD:
git remote set-head origin -a
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2031 次 |
| 最近记录: |