本地和远程重命名 Git 分支? [复制]

2024-01-07

有没有办法在本地重命名 Git 分支并将其推送到远程分支,即使已经有很多提交推送到远程分支?

或者,是否需要创建一个新的本地分支,删除旧的本地分支,然后在远程仓库上重复操作?


Yes,

特点move存在以在本地重命名分支

git branch --move <old_name> <new_name>

但要推送它,您必须删除旧的并推送新的

git checkout <new_name>
git push origin [--set-upstream] <new_name>
git push origin --delete <old_name>

--set-upstream是可选的,它配置新的本地分支来跟踪推送的分支

您可以使用以下简写:

  • 本地移动(--move):

      git branch -m <old_name> <new_name>
    
  • 推送新分支(--set-upstream,可选):

      git push origin [-u] <new_name>
    
  • 删除(--删除):

      git push origin -d <old_name>
    

NB.

感谢 torek 的评论:

顺便说一句,值得一提的是,你应该

  1. 通知共享上游的其他用户您将这样做,并且
  2. 按照显示的顺序执行此操作(设置新名称,然后删除旧名称)。

第一个原因是这些用户需要调整。

#2 的原因主要是效率:它避免了必须将对象重新复制到上游存储库,该存储库会在分支删除时删除提交(大多数裸存储库都会这样做,并且大多数接受推送的存储库都是裸存储库)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

本地和远程重命名 Git 分支? [复制] 的相关文章

  • Bitbucket Pipeline - 如何排除文件或文件夹?

    如何排除文件夹或文件上传到服务器 我想忽略 src 文件夹和package json image node 10 15 3 pipelines branches develop step caches node name Deploy to
  • 意外推送提交:更改 git 提交消息

    在我的本地存储库中 我有一次提交的提交消息不正确 我已经发布了错误的提交消息git push 现在 远程存储库 由 GitHub 托管 也有错误的提交消息 我已经尝试过了git commit amend 但发现在这种情况下它对我不起作用 因
  • p4 命令行相当于“git log -p”?

    我经常使用git log p
  • 如何将 git 存储库中的现有目录设为 git 子模块

    我对 git submodules 很困惑 基本上我的问题是我无法让 git 理解这一点 main project submodule是一个子模块 我对 git 子模块有很好的经验 in my 点文件存储库 https github com
  • 如何临时更改git ssh用户进行远程推送?

    是否可以临时更改 ssh 用户为 git Push Remote Master 而不会弄乱 git config 或 git Remote 或使用整个远程 URL root host gitrepo git push otheruser r
  • Git:如何处理不同的shebang

    人们如何处理本地和远程之间的不同 shebang 例如 我的本地 python 是 usr bin python 而我的 Web 主机是位于 local bin python 的专用 python 首席开发人员的 ruby 可能位于 usr
  • 变基中的传入和当前

    有一个与此类似的问题 但其范围太笼统 而且响应过于复杂 我的问题是非常准时 当从我的分行MyBranch并进行像这样的变基git rebase master并发生冲突 这是传入的变化 哪个是目前的变化 请不要关闭这个问题 将其链接到之前所说
  • 执行“挤压和合并”后可能出现问题?

    I used Squash and Merge用于合并dev分支到main因为我不想要来自的一些提交消息dev出现在的分支main但现在我发现main比 dev 提前 1 次提交 并且该图显示 两者之间没有联系dev and main 这是
  • xcode 中的 Git(无分支)

    在我的 ios 项目中 我使用 git 作为 scm Xcode 存储库列表包括 至少在 Xcode 中 无分支 的内容 前段时间我可能检查了以前的提交 但没有创建分支 从那时起我已经做出了大约 40 次提交 现在我想从我的下一个最后提交分
  • 致命:Jenkins IIS ID 无效

    我正在尝试设置 Jenkins 从 bitbucket 中提取并构建一个项目 我在 IIS 8 5 Server 2012 r2 上使用它 我已经设置了 Git 和 Bitbucket 插件 我已经建立了一个包含以下内容的项目 Branch
  • 通过 http 的私有 git 存储库

    你能推荐任何简单的解决方案来设置可通过http s cleutus建议的 访问的git存储库吗 我有自己的 http 服务器 我想用它来托管一些小型私人项目 在家里我可以通过 ssh 连接 但在工作中防火墙阻止我这样做 有没有免费的方法来设
  • 无法将本地更改推送到远程位桶

    我在本地存储库中添加了一个新的自述文件 当我推送到开发分支时 出现此错误 分支 refs heads develop 只能通过拉取请求进行修改 与项目管理员检查您的分支权限配置 到 ssh bitbucket companyname com
  • 无法变基:以下未跟踪的工作树文件将被合并覆盖

    我正在尝试重新调整我的分支并压缩我的大部分提交 当我这样做时 我收到以下错误 error The following untracked working tree files would be overwritten by merge sr
  • SmartGIT 不要求 ssh 密钥

    切换到新计算机后 我必须再次安装 Windows 版 SmartGIT 现在尝试克隆我的 fedorahosted org repository 密钥存储在 C User myusername ssh SmartGIT 附带了全新安装 并且
  • Github 拉取请求显示太多更改/提交

    我们有两个分行 develop and master 由于某种原因 当我创建 PR 时develop gt master 它显示了以前提交和更改的完整列表 即使我只做了一行更改develop 另外 当我能够从命令行合并时 它会说 无法自动合
  • Git 每次提交和拉取时都要求输入密码

    我正在使用带有 Git 扩展的 Visual Studio 2012 我正在使用位桶来存储项目 每次 每当我想要推送或拉取 Git 时 都会询问我帐户密码 在 Windows 8 中 Thanks 您可以使用gitcredentials h
  • Windows 中的 Git Shell:补丁的默认字符编码是 UCS-2 Little Endian - 如何将其更改为 ANSI 或 UTF-8 without BOM?

    当创建一个Windows 中使用 Git Shell 进行差异补丁 当使用适用于 Windows 的 GitHub http windows github com the 字符编码补丁的UCS 2 小尾数法根据Notepad 参见下面的屏幕
  • php run git 收到“ssh 权限被拒绝”

    我正在尝试从浏览器中运行 git pull php 脚本 但我得到了 sh 连接到主机 git assembla com 端口 22 权限被拒绝 我的 PHP 脚本
  • git-svn SVN 作者文件的相对路径?

    我已经使用 git svn 从工作中克隆了一个 SVN 存储库 在最初的克隆过程中 我提供了一个 SVN 作者文件 当我进行初始克隆时 git 设置了authorsfile作为绝对路径 但是 我在工作机器和笔记本电脑上保留了这个 git 存
  • Git - 显示远程分支的远程名称

    是否有一个 Git 命令可以显示远程分支的远程名称 目前 我坚持使用 shell utils 从远程分支引用中提取远程名称 例如 echo remote name branch name sed r s 1 remote name 有时出于

随机推荐

  • 当类的属性包含另一个类实例时,如何指定 numba jitclass?

    我正在尝试使用 numba 来提高 scipy integrate odeint 的 python 性能 为此 我必须使用 nb jit nopython True 来定义 ODE 系统的函数 然而 这个函数必须在我的程序中接受另一个 py
  • 使用 Selenium Firefox Webdriver 在 Python3 中的第一次请求之前添加 cookie

    我有一个 PKI 身份验证网站 因此打开页面时的第一件事就是要求输入 PIN 码 这样我就无法在加载页面之前设置已保存的 cookie 我见过 chrome 驱动程序的类似解决方案here https stackoverflow com q
  • 从 .env 文件创建 kubernetes env var 秘密

    我有一个 Nodejs 应用程序 它将变量存储在环境变量中 我正在使用dotenv https www npmjs com package dotenv模块 所以我有一个 env文件看起来像 VAR1 value1 VAR2 somethi
  • 如何突出显示(统一视觉选择,绘制透明覆盖)JPanel?

    许多自定义 Swing 组件都是由JPanel 有时需要选择这些组件 怎么可能使JPanel看看被选中了 应该像其他项目一样选择它 例如菜单项 或者JTable细胞 IE 全部的JPanel应覆盖透明蓝色 如果这能像 L F 主题中的其他项
  • 如何确定编译器使用的C++标准版本?

    如何确定您的编译器实现的是哪个版本的 C 标准 据我所知 以下是我所知道的标准 C 03 C 98 来自 Bjarne StroustrupC 0x 常见问题解答 www stroustrup com C 11FAQ html 11 cpl
  • 根据观察到的变量的变化更新@Published变量

    我有一个可以观察到的 AppState class AppState ObservableObject private init static let shared AppState Published fileprivate set va
  • 致命:无法创建“/.git/index.lock”:文件存在

    当我尝试重命名我的任何图像名称时Xcode Project它给出以下错误 fatal Unable to create git index lock File exists If no other git process is curren
  • 使用nodejs和ffmpeg进行实时视频转换

    我正在尝试使用 ffmpeg 和 nodejs 创建非常简单的服务器端视频转换 到目前为止 我有 2 台 UDP 服务器 一台用于转换视频输入 第二台用于监听转换后的视频并将其传递到 websocket 我创建了一个 UDP 服务器 其中有
  • Promise.all 和 Promise.race 是否有记录的行为有效地使所有承诺“得到处理”?

    下面 代码unhandledRejection没有被解雇p2 即使它也被拒绝 尽管晚于p1 process on unhandledRejection reason promise gt console log unhandledRejec
  • 无法从 OpenShift origin pod 解析 github.com

    我有一个基本的 OpenShift 起源集群oc cluster up 现在 在默认的 MyProject 中 我想从 git repo 构建源 但失败并出现错误Could not resolve host github com Name
  • 核心数据迁移技术:移动属性 -> 建模关系

    我有一个相当大的基于核心数据的数据库模式 约 20 个实体 超过 140 个属性 当它从 1 x 代码库迁移到 2 x 代码库时 它正在经历巨大的变化 我非常熟悉执行轻量级迁移 但我对这种特定的迁移有点困惑 因为有一些实体用于将相关对象存储
  • 用于计算子组中的排名和中位数的 SQL 排名查询

    我想计算Median http en wikipedia org wiki Median of y in 子组这个简单的xy table x y groups gt gid x y medians gt gid x y 0 1 4 0 0
  • PHP 只读属性?

    在使用 PHP 的 DOM 类 DOMNode DOMEElement 等 时 我注意到它们拥有真正的只读属性 例如 我可以读取 DOMNode 的 nodeName 属性 但无法写入它 如果我这样做 PHP 会引发致命错误 如何在 PHP
  • 如何用vite做多个捆绑?

    使用vite js捆绑我的库 我需要同时提供两个版本 生产用途 通过 devtools 集成开发特定代码和警告 当我使用 webpack 时 我有 module exports defaultUmdBuild production defa
  • 在AJAX上初始化Google地图刷新部分

    我可以毫无问题地显示带有标记的谷歌地图 但是当使用ajax刷新该部分时 我无法在该部分中显示地图 我猜这是因为使用 ajax 时不会触发最后的最终初始化行 function initialize var myLatlng new googl
  • Dynamics 365 Web API 电子邮件发送

    我正在为网站上的页面建立订阅 因此 潜在订阅者通过表单发布并添加到 Dynamics 365 Online 中的营销列表 然后 我根据网站上的预定工作向营销列表中的联系人提出请求 然后我需要向他们发送一封电子邮件 说明已使用此属性创建了一个
  • NetworkX:在 DAG 中查找最长路径,返回最大的所有关系

    我无法弄清楚如何更新 networkx dag find longest path 算法以返回 N 表示关系 而不是返回找到的第一个最大边 或返回与最大权重相关的所有边的列表 我首先从 pandas 数据帧创建了一个 DAG 其中包含如下子
  • Python 是 vs == [重复]

    这个问题在这里已经有答案了 可能的重复 Python 中的字符串比较 is 与 https stackoverflow com questions 2988017 string comparison in python is vs 什么时候
  • 使用 Remember_me 时注销后 Flask-Login 仍然登录

    要使用 Flask login 在 Flask 中注销用户 我只需调用 logout user 但是在添加一些额外的会话检查后 在我单击注销并再次单击返回 登录页面 后 我仍然登录 它发生了只有当我选择 记住我 时 我想我在这里误解了 se
  • 本地和远程重命名 Git 分支? [复制]

    这个问题在这里已经有答案了 有没有办法在本地重命名 Git 分支并将其推送到远程分支 即使已经有很多提交推送到远程分支 或者 是否需要创建一个新的本地分支 删除旧的本地分支 然后在远程仓库上重复操作 Yes 特点move存在以在本地重命名分