今天我在做我的项目,我尝试了一种新算法,但效果不佳。因此,我不想将它包含在项目中,但我希望对存储库中的代码进行提交,以防万一我想稍后再引用它。这是我所做的:
git 添加。
git commit -m "Lorem ipsum..."
用一些笔记在我的笔记本中记下提交哈希。
git reset HEAD^
所以现在,那个提交不是分支历史的一部分,但是如果将来我需要这个提交,我可以简单地使用提交哈希来检查它。但这是我的问题:
这个提交会被推送到远程吗?或者它会永远只留在我的本地机器上吗?显然,这会很糟糕,因为如果我不得不移动机器等,我将在重新克隆时丢失此提交。
最佳答案
不,不会推送该提交。只有在您推送的分支上的“事件”提交才会进入远程仓库。
我的 2 个建议已经在评论中了:
- 创建一个单独的分支。我更喜欢命名约定
user/first.last/some-branch
,它可以作为您(或其他人)将来可能想要查看的提交的个人备份。我通常有一堆这些类型的分支,我会每隔几个月清除一次垃圾。 - 提交更改,还原更改,然后当您推送时,历史记录会保留在您的分支上。
我几乎总是喜欢#1 而不是#2。
请注意,有一些方法可以推送与分支无关的提交,但我不推荐这样做,因为它们以后更难找到,如果没有分支或标记指向,最终可能会被垃圾回收它。 (有关详细信息,请参阅 this comment from torek。)
关于git - 是否推送不属于分支的 Git 提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62640987/