我有master跟踪远程分支的分支origin/master.
我想将它们重命名为master-old本地和远程.那可能吗?对于跟踪的其他用户origin/master(以及经常更新其本地master分支的用户git pull),重命名远程分支后会发生什么?他们git pull仍然会工作还是会抛出一个它再也找不到的错误origin/master?
然后,继续,我想创建一个新的master分支(本地和远程).再说一次,在我这样做之后,如果其他用户这样做会发生什么git pull呢?
我想这一切都会带来很多麻烦.是否有一种干净的方式来获得我想要的东西?或者我应该保持master原样,并创建一个新的分支,master-new然后继续在那里工作?
如果有一个我只有git://访问权限的存储库(并且通常只是push + pull),有没有办法以与我本地相同的方式重命名该存储库中的分支git://?
我有4个像主人一样的分支 - > origin/regacy,FeatureA - > origin/FeatureA.
如上所示,我键入了错误的名称.
所以我想重命名一个远程分支名称(origin/regacy => origin/legacy或origin/master)
我试着在下面命令:
git remote rename regacy legacy
Run Code Online (Sandbox Code Playgroud)
但是git console向我返回了错误消息.
error : Could not rename config section 'remote.regacy' to 'remote.legacy'
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
我们希望为我们的项目强制执行一个新策略,现在主分支称为发布分支,以确保更清楚如何使用分支.当然,我们也将开发和发布候选分支.
我知道我可以通过简单地使用以下命令在本地重命名master分支:
git branch -m master release
Run Code Online (Sandbox Code Playgroud)
但是,这只是本地的.即使我把它推到遥控器上,HEAD仍然指向远程主分支.我想完全摆脱master分支,并在初始克隆时创建默认的本地分支,然后释放.
我怎样才能做到这一点?
编辑:似乎由于原点是在一个有名的服务器上,我得到错误删除主分支.我现在试图看看是否可以更改它,以便默认分支是'release'.
我知道从命令行重命名分支的方法,但是 - 因为我正在使用TortoiseGit - 我很好奇是否有任何选项可以做这样的事情.
谢谢你的答案:)
我有一个基本存储库,它位于UNC\machine\share ....等.我有一个本地克隆,我在主分支工作,偶尔合并到"稳定"分支.
通常我做一个
git push --all
将所有分支中的所有更改移动到服务器.创建新分支后
git branch MultiCompany
然后将其推送到服务器
git push --all
这也在服务器上创建了分支.我做了一些工作,在多公司分支中提交了所有更改然后尝试做了
git push --all
并得到以下错误:
cdturner@OAHU ~/desktop/git sourcetree/maerekai.web.framework (multicompany)
$ git push --all
Counting objects: 28, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (22/22), done.
Writing objects: 100% (23/23), 11.34 KiB, done.
Total 23 (delta 8), reused 0 (delta 0)
Unpacking objects: 100% (23/23), done.
error: Ref refs/heads/multicompany is at bd5a32df35ce8d5ae30ce999af34c4c5f35581df but expected 0000000000000000000000000000000000000000
remote: error: failed to lock refs/heads/multicompany
To //pluto/users/cdturner/Git …Run Code Online (Sandbox Code Playgroud) 我克隆了一个git存储库.
这个存储库有一个类似的远程分支-feature-abc.
当我输入时git checkout -feature-abc,我得到:
error: unknown switch `e'
Run Code Online (Sandbox Code Playgroud)
知道如何结账这个分支吗?
请帮助让头指向git中的主人

我试过了
git rebase HEAD master
Run Code Online (Sandbox Code Playgroud)
和
git checkout master
Run Code Online (Sandbox Code Playgroud)
没有任何帮助.
更新:奇怪我试过:
git symbolic-ref HEAD
refs/heads/master
Run Code Online (Sandbox Code Playgroud)
然后
git rev-parse refs/heads/master
fc550e5ff2fe49d64ee1d8bf0da09b2b24bf2cd7
Run Code Online (Sandbox Code Playgroud)
然后我在以下命令后发出奇怪的警告
git rev-parse HEAD
warning: refname 'HEAD' is ambiguous.
fc550e5ff2fe49d64ee1d8bf0da09b2b24bf2cd7
Run Code Online (Sandbox Code Playgroud)
新更新:遥控器中有HEAD分支 - >原点.删除后一切都还可以.我不再有那个警告了.
所以我在标题中列出了问题.
我想用git push -u origin master.
但如果输入这个命令,我会得到:
error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/myprofile/my_project.git'
Run Code Online (Sandbox Code Playgroud)
我搜索了这个问题(git:错误:src refspec master不匹配,src refspec master在git中提交提交时不匹配) - 但解决方案对我的情况没有帮助.
好像我只是忘了做一些初始提交到原始的远程分支,而是创建了另一个分支然后被使用.
这是从git ls-remote以下输出:
$ git ls-remote
From https://github.com/myprofile/my_project.git
152e795f054f6f756842bf61ee968ba3e5ee873d HEAD
7d505dbf09585ecfbb239c2148337043b899cc13 refs/heads/add-mysql-repo
152e795f054f6f756842bf61ee968ba3e5ee873d refs/heads/break-into-modules
e7905a3dacc9ea3e6c4c1f2dd9412f8deb692e30 refs/heads/master
Run Code Online (Sandbox Code Playgroud)
这是github图的网络窗口:
所以总结起来-我应该怎么做才能正常使用git push -u origin master,而不是git push -u origin origin:master?
编辑:
$ git branch -avv
add-mysql-repo 7d505db add mysql case to switch …Run Code Online (Sandbox Code Playgroud) git ×10
git-branch ×5
rename ×3
branch ×2
github ×1
head ×1
master ×1
push ×1
repository ×1
tortoisegit ×1