Git 将特定提交推送到远程存储库
本文概述了在 Git 中将特定提交推送到远程存储库的过程。 假设我们有一个包含多个提交的 Git 存储库,而我们只需要推送一个提交,我们将如何处理呢?
将特定提交推送到远程存储库
要将单个提交推送到远程存储库,我们在如下所示的上下文中使用 Git push 命令。
$ git push <remote> <commit id>:<remote branch>
一如既往,我们将使用一个例子来说明这个概念。
下面的示例显示了一个包含四个提交的演示存储库,如下图所示。
假设我们要将初始提交推送到远程存储库。 我们将如何着手?
假设我们是第一次推送到远程存储库,我们将按照以下步骤操作。
首先,我们将远程仓库添加到我们的本地仓库,如下所示。
$ git remote add origin https://github.com/Wachira11ke/Demo.git
要将初始提交推送到远程,我们将运行:
$ git push origin 6b0f31a:refs/heads/master
由于我们是第一次推送到远程,所以我们需要使用 refs/heads/master 参数在远程存储库中创建一个 master 分支。 此命令只会将我们的初始提交推送到远程仓库。
如果我们只想推送第一个提交,即更新许可证怎么办?
运行 git push origin c87321d:master
不会产生预期的效果。
这是因为 Git 会将所有提交推送到并包括指定的提交。 我们不想要那样,是吗?
我们需要重新安排提交,以便第一个提交是最后一个。 我们的更新许可证提交应该在初始提交之后立即进行。
我们可以通过在交互模式下运行 git rebase 命令来做到这一点,如下所示。
$ git rebase -i HEAD~3
此命令将打开一个文本编辑器。 我们将使用 pick 命令并重新排列提交,如下所示。
我们现在可以退出文本编辑器并完成变基。 你的提交历史不应该是这样的:
我们现在可以将提交推送到远程存储库,如下所示。
$ git push origin 20136f7:master
我们的远程存储库应该只包含两个提交。
- 初始提交提交
- 更新许可证提交。
让我们确认一下我们的情况。
总之,git push <remote> <commit id>:<remote branch>
允许我们将特定提交推送到远程存储库。
但是,该命令会将所有提交推送到并包括指定的提交。 要解决这个问题,您将需要使用 git rebase 命令重新安排您的提交,如我们所示。
相关文章
如何在 Windows 系统中卸载 git
发布时间:2023/04/09 浏览次数:223 分类:Git
-
在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。
Git 如何重命名本地分支
发布时间:2023/04/09 浏览次数:64 分类:Git
-
大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。
重命名 Git 存储库中的文件和目录
发布时间:2023/04/09 浏览次数:102 分类:Git
-
在本文中,我们将讨论 git 中的重命名过程。 我们使用 Git Rename 来更改工作目录中文件和文件夹的名称。
在 Git 中取消初始化存储库
发布时间:2023/04/09 浏览次数:187 分类:Git
-
本本文介绍如何通过 Git 命令行取消初始化 Git 存储库。git init 命令开发一个新的空置 Git 存储库。 它还用于重新初始化已经存在的 Git 存储库。
Git 仓库名称该如何命名
发布时间:2023/04/09 浏览次数:208 分类:Git
-
使用 Git 时,选择一个简洁且最新的存储库名称是一项艰巨的任务。本教程介绍了如何以独特的方式命名 Git 存储库。
配置 Git 以忽略文件模式更改
发布时间:2023/04/09 浏览次数:67 分类:Git
-
本文讨论配置 Git 以忽略文件更改 chmod 所需的步骤。 如果您更改 Git 正在跟踪的文件的权限,系统将在该文件中注册更改。
在 Git 中暂存已删除的文件
发布时间:2023/04/09 浏览次数:93 分类:Git
-
本文讨论了在 Git 中暂存已删除文件的必要步骤。我们知道 rm 命令可以删除一个文件,而无需将其从工作目录中移除。 那么,我们如何暂存已删除的文件以进行提交呢?
在 Git 中显示冲突文件
发布时间:2023/04/09 浏览次数:139 分类:Git
-
本文讨论在 Git 中列出冲突文件的最简单和最干净的方法。 我们可以使用 git status 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。