git - 在 git 中推送特定提交

标签 git git-push

我有一个由多个提交组成的分支。在我的特定情况下,对构建系统进行了一些修复,一些有用但不重要的功能,以及我正在开发的一些重要功能。

* extra commit 5 <wip>
* some commit 4 <useful>
* some commit 3
* feature commit 2 <feature>
* feature commit 1
* main <main>

在这样的分支中,我有 5 个来自主分支的提交,其中有 3 个实际分支(wipusefulfeature),有没有什么方法可以指定我只想推送到远程提交 3 和提交 4(从 featureuseful 的子分支)?

最佳答案

您可以通过指定名称将特定的引用规范(例如分支名称)推送到远程存储库:

git push origin useful

但是,如果没有分支中之前的所有提交,您就无法推送特定的提交(我认为您可能已经回避了)。如果您想做类似的事情,您必须创建一个仅包含这些提交的新分支。例如:

git checkout main # go back to main
git checkout -b newbranch # start a new branch
git cherry-pick <commit 3 hash>..<commit 4 hash>
git push origin newbranch

关于git - 在 git 中推送特定提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75863828/

相关文章:

Git 使用 jenkins 管道 pull 远程服务器

xcode - 在 Xcode 9 上切换分支

git - 将当前分支 merge 到 HEAD

git - 推送除特定分支之外的所有分支

Git rebase 显示非快进

git - git 有 'social' 扩展吗?还是远程监控工具?

git - TFS 构建定义关联的提交

git - 将代码从一个仓库的一个分支推送到另一个仓库的另一个分支

git:如何查看由于推送而发生的变化?

git - 为什么 `git push --force-with-lease` 失败并显示 "rejected ... stale info"即使我的本地 repo 是最新的远程仓库?