在开发过程的某个版本中,由于代码的最新提交中的某些问题,需要修改历史提交版本。
为了方便起见,您选择使用由IDEA控制的版本控制的Git Checkout [Commith]命令切换到指定版本。
切换是成功的,并且在当前版本中运行没有问题。但是,当修改代码并提交代码时,会发现它不能提交!显示独立的头部!
GIT中的正常过程应是头部指向分支,并且分支具有相应的consith,以便头部可以在不同的分支之间切换,并且每个分支版本的提交都连续迭代。
独立的头是指出发状态,代表GIT指向特定社区的头指针,而不是特定分支机构。
使用Git克隆将远程项目拉到局部区域后,默认情况下将远程主题拉动并在本地创建同名和远程关联的分支;
如果仓库中有多个分支,当切换到指定的远程分支时,该局部区域没有相应的分支,此时,Git不会自动创建相同的名称分支;
最后,它可以成功切换,但它将导致独立的头部状态,也就是说,目前,头部直接指向远程分支的最新倾向。
在这种情况下,无法提交本地修改的代码,而GIT将在切换分支后删除修改记录。
如果要在本地切换到指定的远程分支,则可以正常使用它,需要使用命令参数来确保本地分支在切换分支时具有本地分支;
使用命令打开分支。生命将检查如果切换分支时,如果本地名称中没有相同名称的分支,则GIT将创建同名和合并的分支。
在当前分支中,您可以使用它切换到历史版本并查看历史修改内容。
如果您只查看邮政编码的切换,则没有问题。但是,当您需要修改并在此基础上提交代码时,将会有一个大问题!
在用或命令切换到历史版本后,头指向相应的collesith,并且没有新的分支,因此它将成为独立的头部状态!
目前,查看状态显示在GIT控制台中:
您还可以使用查看当前分支信息显示:
对于此问题,可以通过创建一个新分支来确保头部指向特定的分支来解决。具体过程是:
对于GIT使用过程中出现的独立头部问题,通常是因为操作导致头部不指向特定分支。取而代之的是,它指向远程分支的CommuniceID的collesith或本地历史版本。最后,无法正确提交这种情况的修改。
通过在本地创建分支,将修改设置为特定分支,然后将分支合并到最终分支中,以委婉地完成修改。
此外,如果不再需要最新的提交记录,则可以使用命令回滚到指定版本进行修改而不是使用它。
原始:https://juejin.cn/post/710242943113334568