首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git:如何将起源/主人从废弃的树枝转移到当前的头部?

Git:如何将起源/主人从废弃的树枝转移到当前的头部?
EN

Stack Overflow用户
提问于 2022-05-14 19:08:13
回答 3查看 107关注 0票数 2

这里是新手。我做了一些我想放弃的改变。所以我做了一个早期的检查,然后又开始工作了。我不记得我到底做了什么,但下面是我的当前情况(如PyCharm所示):

头在顶部(评论:“台风”)。原版/母版的注释是“重定向的注释”。

我推到github,但是HEAD没有出现在那里。我知道我需要让台风版本成为我现在的起源/主人。我该怎么做?

我是唯一的开发商,没有人会受到任何变化的影响。我不在乎死胡同上的两个版本(以“重定向的注释”结尾)是否被永久删除。

EN

回答 3

Stack Overflow用户

发布于 2022-05-14 21:00:39

您当前处于“分离头”状态中,这意味着没有活动分支。您可以使用以下命令让您的master分支指向当前版本("Typo"):

代码语言:javascript
复制
git switch --force-create master

之后,您可以使用--force-with-lease选项进行推送。这是必要的,因为推送将放弃这两个版本“退出并存储.”和“关于.的说明”:

代码语言:javascript
复制
git push --force-with-lease

所以我做了一个早期的检查,然后又开始工作了。

正确使用的命令是git reset --hard <commit-ID>。这避免了“分离头”状态。注意,对于该操作后的第一次推送,仍然需要使用--force-with-lease选项。

票数 1
EN

Stack Overflow用户

发布于 2022-05-14 22:42:31

Git中的分支只是一个字符串,一个指向单个提交的名称。当您决定要走错路时,让自己回到“更多的回归”的方法不是使用checkout,而是使用reset --hard,它只是获取当前分支的名称并将其重新定位到指定的任何位置。

现在,您可以使用同样的技术来解决问题!先做一根树枝来支撑你的位置。然后跳回您意外放弃的主指针,并将其重新指向您现在的位置:

代码语言:javascript
复制
git switch -c temp
git switch master
git reset --hard temp

您不再需要占位符,所以删除它:

代码语言:javascript
复制
git branch -D temp

顺便说一句,这类事情就是为什么你不应该开发的主人-即使你是唯一的用户回购。如果你在一个实验分支上,当你认为你的策略是一个失败,你可以简单地放弃这个分支,转回到大师,并开始一个新的分支与另一个路线的实验。

票数 0
EN

Stack Overflow用户

发布于 2022-07-02 07:29:00

我创建了一个分支:branch fixed-detached-head。 然后:(即,temp=固定分离头)。然后:git switch fix-detached-head

最好是直接使用git switch -c创建一个分支,从另一个分支/提交,这样,您就可以避免所有“分离头”的情况。

代码语言:javascript
复制
git switch -c newBranch oldBranchOrCommit
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72243183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档