云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

大带宽_工口漫画百度云_是什么

小七 141 0

cdn加速_租用_物联网感知技术

以下是卡洛斯·舒尔特写的一篇博客文章。Git新手经常会对VCS工具向他们抛出的一些信息感到困惑。"你处于‘超然的头脑’状态"无疑是最奇怪的一个。在看到这条消息后,大多数人开始疯狂地在google上搜索"git detached HEAD"、"git detached HEAD fix"或类似的词汇,寻找任何可能有帮助的东西。如果这是你的情况,你就走右边了地点。这里你首先应该知道的是:你没有做错任何事。你的回购没有被破坏或类似的事情。表达式"Detached HEAD"听起来可能有些奇怪,但在Git中它是一个完全有效的存储库状态。当然,这不是正常状态,你猜到了!-当头部固定时。第二件事你需要知道的是回到正常是非常容易的。如果你只想这样做,继续你的一天,去"我如何在Git修复一个分离的头?"这篇文章的一部分来看看好了。但是如果你想知道更多,我想你会留下来,我们会帮助你的。头在Git中是什么意思?连接或分离意味着什么?这些就是我们在这篇文章中要回答的问题。到最后,您将对Git的基本原理有一个更好的理解,物联网培训,并且分离的头将永远不会再困扰您。我们挖吧英寸吉特分离头:再现"问题"让我们从一个快速演示开始,演示如何达到分离的头部状态。我们将创建一个存储库并向其中添加一些提交:mkdir git head democd git head demogit inittouch文件.txtgitadd.git commit-m"Create file"echo"Hello World!"> 文件.txtgitcommit-a-m"Add line to the file"echo"Second file">file2.txtgit Add.git commit-m"Create Second file"使用上面的命令,我们创建了一个新文件夹,其中包含一个新的存储库。然后我们创建了一个新的空文件,并用消息"Create file"提交了它。接下来,我们在该文件中添加了一行并提交了更改,并显示消息"Add a line to the file"。最后,我们创建了另一个包含一行文本的文件并提交了该文件。如果使用gitlog–oneline命令,您将看到类似这个:让的意思是,出于测试目的,我们需要查看第二次提交时的情况。我们该怎么做?事实证明,我们可以像检查分支一样签出提交。记住,分支只是提交的名称。因此,根据上面的示例输出,我们将运行git checkout 87ec91d。请记住,如果您在自己的系统上执行这些命令,那么提交的哈希值将与示例中的哈希值不同。使用log命令查找它。之后运行该命令时,我们得到"You are in‘detached HEAD’state[…]"消息。在我们继续之前,请确保记住这一点:通过签出一个commit,可以到达分离的头状态直接。什么脑袋在吉特吗?头在Git中是什么意思?要理解这一点,我们必须退一步谈谈基础知识。对象之间有关系,引用指向对象和其他引用。Git存储库中的主要对象是提交,但其他对象包括blob和树提交.HEAD是另一种重要的参考类型。HEAD的目的是跟踪Git回购中的当前点。换句话说,海德回答了一个问题,"我现在在哪里?"例如,当您使用log命令时,Git如何知道应该从哪个提交开始显示结果?海德给出了答案。当您创建一个新的提交时,它的父级由HEAD当前指向的位置指示到。是你处于"超然的头"状态?您刚刚看到Git中的HEAD只是一个引用的名称,它指示存储库中的当前点。那么,它是依附还是分离意味着什么?大多数时候,HEAD会指向一个分支机构的名称。添加新提交时,分支引用将更新为指向它,但HEAD保持不变。更改分支时,HEAD将更新为指向已切换到的分支。所有这些都意味着,在这些场景中,HEAD是"当前分支中最后一次提交"的同义词。这是正常状态,在这种状态下,HEAD连接到一个分支这个:作为你可以看到,HEAD指向主分支,它指向最后一次提交。一切看起来都很完美。运行git checkout 87ec91d之后,回购看起来像这个:这是分离的头状态;头直接指向提交而不是分支机构福利有什么好理由让你处于分离的状态吗?你肯定有!如您所见,您通过检查提交来分离头部。它本身已经很有用,因为它允许您转到项目历史的前一个点。假设您想检查上周二是否已经存在给定的bug。可以使用log命令(按日期筛选)启动相关的提交哈希。然后,您可以检查提交并测试应用程序,可以手动执行,也可以运行自动测试套房。什么如果你不仅能回顾过去,还能改变过去?这就是超脱的脑袋让你做的。让我们回顾一下分离的消息开始:你是处于"分离的头"状态。您可以环顾四周,数据大屏,进行实验性的更改并提交它们,还可以通过切换回分支。输入在这种状态下,你可以进行实验性的改变,有效地创造一个替代历史。所以,让我们在分离的头状态下创建一些额外的提交,看看我们的回购看起来如何之后:回声"欢迎使用备用时间表,莫蒂!">新的-文件.txtgitadd.git commit-m"Create new file"echo"另一行">>new-文件.txtgitcommit-a-m"向文件添加新行"我们现在有两个附加的提交,它们是从第二次提交开始的。让我们运行git日志–one line并查看结果:这是这个图表是什么样子的现在:应该怎么办如果你想保留这些改变,你愿意吗?如果你想抛弃他们,你该怎么办?我们会看到的下一步。怎么做我要在Git中修复一个分离的头吗?没坏的东西你修不好。正如我之前说过的,分离头在Git中是有效的状态。这不是问题。但是你可能仍然想知道如何恢复正常,淘客返利app,这取决于你为什么会在第一次遇到这种情况地点。场景#1: 我来这里是偶然的,如果你是意外地达到了分离的状态,也就是说,你不是有意要检查一个承诺,返利手游平台,回去是很容易的。看看你在那家分店之前:git签出如果您使用的是git2.23.0或更新版本,也可以使用switch代替签出:git开关场景2:我已经做了一些实验性的更改,我想放弃它们你已经进入了分离的头状态并进行了一些提交。实验没有结果,你也不会再做了。你是做什么的?您只需执行与前一个场景相同的操作:回到原来的分支。您在备用时间轴中所做的更改不会对您当前的分支场景#3: 我已经做了一些实验性的改变,我想保留它们如果你想用一个分离的头来保持改变,只需创建一个新的分支并切换到它。您可以在到达分离头之后或在创建一个或多个提交之后立即创建它。结果是一样的。唯一的限制是你应该在恢复正常之前做分支。让在我们的演示中回购:git分行alt historygit checkout alt history注意git log–oneline的结果与以前完全相同(唯一的区别是上次提交中指示的分支名称):我们可以只运行git分支所有的历史,企业应用系统,我们都准备好了。这是我们的新版本和最终版本图表:摆脱关于"Git Detached HEAD"消息,在结束之前,让我们分享最后一个快速提示。现在您已经了解了Git中关于detached HEAD的所有内容,并且知道这不是什么大问题,所以每次检查提交时都看到这个消息可能会变得很累。幸运的是,有一种方法可以不再看到警告。只需运行以下命令命令:git config建议。超然头部假动作,对吗?如果希望将更改应用于每个存储库,而不仅仅是当前存储库,还可以使用–global修饰符一个。吉特分离的头:没有听起来那么可怕。一个关于头没有被连接的消息听起来不像你的常规软件错误消息,对吧?好吧,这不是个错误消息。作为你在这篇文章中看到,一个独立的头并不意味着你的回购有问题。分离头只是一种不太常见的存储库状态。除了不是一个错误,它实际上是非常有用的,允许你运行实验,然后你可以选择保留或扔掉。卡洛斯Schults是一个.NET软件开发人员,在桌面和web开发方面都有经验,现在他正在尝试移动设备。他热衷于编写简洁明了的代码,并对帮助您改善应用程序运行状况的实践感兴趣,例如代码审查、自动测试和持续构建。