当前位置: 首页 > 科技观察

一项鲜为人知但功能强大的Git技术_0

时间:2023-03-17 13:18:53 科技观察

Stashing允许您保留对存储库所做更改的副本,而无需创建提交。如果您正在切换上下文,这将非常有用,尤其是当您在同一项目中的不同错误或任务之间来回切换时。gitstash的基本操作在处理并行作业时,您可以使用gitstash来简化您的工作流程。假设您正在处理一项长时间运行的任务并在您的本地工作副本中进行更改。然后,出现紧急情况,您必须立即处理。存储更改的标准工作流程是:进行本地更改stashlocalchangesreapplystashedchanges当您使用gitstash[push]命令存储更改时,git将重置为HEAD。然后您可以继续处理您需要的任何内容,提交到存储库,就好像您从未进行过原始更改一样。一旦你做了任何让你一开始就偏离轨道的事情,使用gitstashpop来应用你的更改并将它们从存储中删除。您还可以使用gitstashapply来应用您的更改并将它们保存在存储中。如果您想快速将更改应用到多个分支,这会很有用。使用MultipleStash如果您真的很忙,您可能会发现自己在处理多项任务,您可能需要将它们全部隐藏起来。别担心,gitstash就是为此而建的。每次使用gitstashpush时,都会保存另一组更改。使用gitstashlist显示你存储的所有东西。您会看到类似这样的内容:stash@{0}:WIPonmain:2fba62efirstcommitstash@{1}:WIPonmain:2fba62efirstcommit这些消息不是很有用,但您可以通过添加您的自己定义消息给自己留下一些线索:gitstashpush-m"third"当你现在列出时,你会看到你的自定义消息:stash@{0}:Onmain:thirdstash@{1}:WIPonmain:2fba62e第一次提交显示记录更改的差异要找出存储中的更改,请使用gitstashshow。无需进一步参数,它将显示最新存储的差异摘要,如下所示:$gitstashshowREADME.md|3+++1filechanged,3insertions(+)你也可以传递一个stashid来查询特定的条目:gitstashshowstash@{0}从Stash创建一个分支你可能会认为stash中的变化非常重要,他们应该进入自己的分支。如果是这样,请使用branch命令从存储中创建一个新分支:gitstashbranch同样,默认情况下这将适用于最近的存储,但如果需要,您可以提供存储ID。Git从存储库中与存储相同的点创建新分支。然后它将存储中的更改应用到您的工作副本。清理Stash没有“gitunstash”命令。如果你想删除一个存储条目,使用drop:gitstashdrop同样,这默认为最新的,但你可以提供一个存储ID。如果您决定要从Stash中删除所有内容,请使用以下命令:gitstashclear使用gitstash进行临时轻量级提交Git存储库远不如完整存储库强大。但它们仍然以自己的方式提供了许多有用的功能。如果您经常发现自己需要在工作中切换分支,请使用stashes。存储只是git的一小部分,git是一个提供很多功能的程序。