我有master跟踪远程分支的分支origin/master.
我想将它们重命名为master-old本地和远程.那可能吗?对于跟踪的其他用户origin/master(以及经常更新其本地master分支的用户git pull),重命名远程分支后会发生什么?他们git pull仍然会工作还是会抛出一个它再也找不到的错误origin/master?
然后,继续,我想创建一个新的master分支(本地和远程).再说一次,在我这样做之后,如果其他用户这样做会发生什么git pull呢?
我想这一切都会带来很多麻烦.是否有一种干净的方式来获得我想要的东西?或者我应该保持master原样,并创建一个新的分支,master-new然后继续在那里工作?
如果有一个我只有git://访问权限的存储库(并且通常只是push + pull),有没有办法以与我本地相同的方式重命名该存储库中的分支git://?
我只是使用重命名我的本地分支
git branch -m oldname newname
Run Code Online (Sandbox Code Playgroud)
但这只会重命名分支的本地版本.如何在github中重命名一个?
我一直想知道是否有一种简单的方法来推送和拉出具有不同名称的远程分支的本地分支,而不必始终指定这两个名称.
例如:
$ git clone myrepo.git
$ git checkout -b newb
$ ...
$ git commit -m "Some change"
$ git push origin newb:remote_branch_name
Run Code Online (Sandbox Code Playgroud)
现在如果有人更新remote_branch_name,我可以:
$ git pull
Run Code Online (Sandbox Code Playgroud)
一切都是合并/快进的.但是,如果我在当地的"newb"中进行更改,我不能:
$ git push
Run Code Online (Sandbox Code Playgroud)
相反,我必须:
% git push origin newb:remote_branch_name
Run Code Online (Sandbox Code Playgroud)
看起来有点傻.如果git-pull用于git-config branch.newb.merge确定从何处拉出,为什么不能git-push有类似的配置选项?有没有一个很好的捷径,或者我应该继续漫长的路?
如何从GitHub/Bitbucket中删除远程主分支?
我尝试着:
# git push bb --delete master
remote: bb/acl: user is allowed. accepted payload.[K
remote: error: refusing to delete the current branch: refs/heads/master[K
To ssh://git@bitbucket.org/user/reponame.git
! [remote rejected] master (deletion of the current branch prohibited)
error: failed to push some refs to 'ssh://git@bitbucket.org/user/reponame.git'
Run Code Online (Sandbox Code Playgroud)
我也试过了
git push bb :master
Run Code Online (Sandbox Code Playgroud)
但这一切都行不通.
如何在不影响当前分支的情况下获取远程分支并更新该分支的git的本地引用?例如,如果我这样做
$ git pull origin master
Run Code Online (Sandbox Code Playgroud)
origin/master合并到我当前的分支中.这也行不通
$ git fetch origin master
Run Code Online (Sandbox Code Playgroud)
那时我检查一下
$ git branch -r -v
origin/HEAD -> origin/master
origin/master 7cf6ec5 test 02
Run Code Online (Sandbox Code Playgroud)
origin/master ref"7cf6ec5 test 02"落后了.真正的起源/主人是"XXXXXX测试03". git fetch只将更改拉入FETCH_HEAD,它没有上传本地origin/master ref.更新该ref的步骤是什么?
注意:
$ git fetch origin
Run Code Online (Sandbox Code Playgroud)
将获得所有远程引用并更新它们但不幸的是(a)很多混乱.(我不希望别人的30-50个随机分支知道有人不想要我的)和(b)因为分支在原点上删除了那些引用在下次我没有被本地删除git fetch origin这意味着路径结束愚蠢的.
问题是,如何只获取一个分支并在本地更新其ref?
我在这看到了几个问题,比如:
但我正在使用TortoiseGit.
如你看到的:
我最近将我的本地分支从ImportPTS重命名为import-publictalk-names.我刚刚将我的提交从新的命名分支推送到现有的远程命名分支.
但我希望远程命名分支匹配.我们可以用TortoiseGit做到这一点吗?我试过浏览器参考窗口,看不到它.
我不想重命名远程分支,如重命名本地和远程 Git 存储库的主分支中所述。
如何重命名尚未推送到远程分支的本地分支?
如果您还需要重命名远程分支: How do I rename those a Git local and remotebranch name
git ×9
git-branch ×4
rename ×3
branch ×2
github ×2
bitbucket ×1
git-push ×1
git-remote ×1
tortoisegit ×1