git - 是否推送不属于分支的 Git 提交?

标签 git

今天我在做我的项目,我尝试了一种新算法,但效果不佳。因此,我不想将它包含在项目中,但我希望对存储库中的代码进行提交,以防万一我想稍后再引用它。这是我所做的:

git 添加。

git commit -m "Lorem ipsum..."

用一些笔记在我的笔记本中记下提交哈希。

git reset HEAD^

所以现在,那个提交不是分支历史的一部分,但是如果将来我需要这个提交,我可以简单地使用提交哈希来检查它。但这是我的问题:

这个提交会被推送到远程吗?或者它会永远只留在我的本地机器上吗?显然,这会很糟糕,因为如果我不得不移动机器等,我将在重新克隆时丢失此提交。

最佳答案

不,不会推送该提交。只有在您推送的分支上的“事件”提交才会进入远程仓库。

我的 2 个建议已经在评论中了:

  1. 创建一个单独的分支。我更喜欢命名约定 user/first.last/some-branch ,它可以作为您(或其他人)将来可能想要查看的提交的个人备份。我通常有一堆这些类型的分支,我会每隔几个月清除一次垃圾。
  2. 提交更改,还原更改,然后当您推送时,历史记录会保留在您的分支上。

我几乎总是喜欢#1 而不是#2。

请注意,有一些方法可以推送与分支无关的提交,但我不推荐这样做,因为它们以后更难找到,如果没有分支或标记指向,最终可能会被垃圾回收它。 (有关详细信息,请参阅 this comment from torek。)

关于git - 是否推送不属于分支的 Git 提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62640987/

相关文章:

git - 如何单独加载项目中包含的子模块?

git - 如何在 Github 中 pull 请求后快速跟踪分支

git - 从本地启动的 repo 将更改推送到远程服务器

java - IntelliJ - 没有输出文件夹

git - 你如何删除 git 历史中的特定修订?

git - 使用 Git 和 Nuget 管理内部共享库

git - 拆分一个 ikiwiki

git - 如何禁止 git commit -a 选项

svn - 如何以更强大的方式使用版本控制?

当 master 和分支领先于当前提交时,Git rebase 到标签上