gpt4 book ai didi

git - 重新定义大师头?

转载 作者:行者123 更新时间:2023-12-02 20:58:39 25 4
gpt4 key购买 nike

我有一个存储库,其中的提交已消失:

... C1 ... C2 ... C3 ... Cn 在 master 分支上,假设我只在 Cn 提交点发现代码有一些重大问题需要时间来调试,我希望尽快有一个稳定/好的Master。假设我知道 C3 是最后一个已知的好点。有没有办法让我重新定义主头为C3,并将Cn标记为新的分支头,比如“调试”分支? (存储库是远程的,但假设它不是公开共享的)。

最佳答案

摘要

在 Git 中,master 只是指向给定提交的另一个分支标签。从技术上讲,您甚至根本不需要存储库中存在名为 master 的分支。

您的两个最佳选择是 git-checkoutgit-reset,具体取决于您是要移动还是丢弃历史记录。前者是您所要求的,而后者是为了完整性而包含在内。

使用 checkout

您可以通过将主分支重置为任意提交来执行您想要的操作。例如:

# Move current master branch aside.
git branch -m master debug

# Create a new branch at committish. Use a branch name or a commit ID.
git checkout -b master c3

使用重置

或者,如果您不关心现有历史记录,最快的解决方案是将 master 的 HEAD 重置为提交。例如,假设您已经位于 master 分支上:

git reset --hard c3

虽然这不会让您当前的历史记录在主分支中可用,但在修剪之前仍然可以通过引用日志访问完整的历史记录。

关于git - 重新定义大师头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39397807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com