git 强制推送到master

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git 强制推送到master相关的知识,希望对你有一定的参考价值。

参考技术A 强制推送到master

切换分支
git checkout branch_name

git切换到指定远程分支
我们在使用git进行开发的时候经常会遇到需要切换远程分支并且提交到远程指定分支的情况,现在记录下操作步骤。

查看远程所有分支

git branch不带参数,列出本地已经存在的分支,并且在当前分支的前面用*标记,加上-a参数可以查看所有分支列表,包括本地和远程,远程分支一般会用红色字体标记出来

新建分支并切换到指定分支

该命令可以将远程git仓库里的指定分支拉取到本地,这样就在本地新建了一个dev分支,并和指定的远程分支release/caigou_v1.0关联了起来。

查看本地分支及追踪的分支

git branch -vv命令可以显示本地所有分支,执行结果如下:

*表示当前所在分支,[远程分支]表示当前本地分支追踪的远程分支,最后一个是最近一次提交的注释。

将本地分支推送到远程

成功后显示如下:

上述命令表示将本地dev分支推送到远程release/caigou_v1.0分支。

无法将 git 分支重命名为“master”,以错误的名称推送到远程

【中文标题】无法将 git 分支重命名为“master”,以错误的名称推送到远程【英文标题】:Unable to rename git branch to "master", pushes to remote with incorrect name 【发布时间】:2016-09-12 05:50:41 【问题描述】:

使用this SO 帖子作为参考,我能够将我的master 重命名为v1,现在我想将我的v2 分支重命名为master。我已经从 GitHub 将默认分支更改为 v1,但是当我尝试将 v2 重命名为 master 时,本地分支重命名很好,但由于某种原因,它将 v2 名称推送到远程。这是命令行会话:

Microsoft Windows [Version 10.0.10586]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\Users\Mahi\Documents\GitHub\EasyPlayer>git branch
  v1
* v2

C:\Users\Mahi\Documents\GitHub\EasyPlayer>git branch -m master

C:\Users\Mahi\Documents\GitHub\EasyPlayer>git branch
* master
  v1

C:\Users\Mahi\Documents\GitHub\EasyPlayer>git push origin :v2
To https://github.com/Mahi/EasyPlayer.git
 - [deleted]         v2

C:\Users\Mahi\Documents\GitHub\EasyPlayer>git push origin master
Counting objects: 39, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (39/39), 8.17 KiB | 0 bytes/s, done.
Total 39 (delta 9), reused 39 (delta 9)
To https://github.com/Mahi/EasyPlayer.git
 * [new branch]      master -> v2

C:\Users\Mahi\Documents\GitHub\EasyPlayer>

如何正确地将我的 v2 分支重命名为 master

【问题讨论】:

【参考方案1】:

尝试强制本地/远程分支关联:

git push -u origin master:master

该分支的本地配置可能仍将 v2 作为其上游分支。上面的命令行应该重置它。

【讨论】:

非常感谢! :) 非常感谢您添加的解释,起初我不知道为什么该命令有效

以上是关于git 强制推送到master的主要内容,如果未能解决你的问题,请参考以下文章

git 一个分支完全覆盖另一个分支

如何在GIT Rebase Interactive Squash之后删除远程存储库上的历史记录提交消息

Git的使用-一个分支完全替换另一个分支

推送到新的 UIViewController 后强制再次调用 viewDidLoad

如何强制“git pull”覆盖本地文件?

当标签已经存在于远程时​​,Git 强制推送标签