首页 > 学院 > 操作系统 > 正文

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

2024-07-26 00:27:14
字体:
来源:转载
供稿:网友
  Stashing 允许您保留对存储库所做更改的副本,而无需创建提交。
 
  如果您正在切换上下文,这非常有用,尤其是当您在同一个项目的不同错误或任务之间来回切换时。
 
  git stash 的基本操作
  在处理并行工作时,您可以使用 git stash 来简化您的工作流程。想象一下,您正在处理一项长期运行的任务,并在本地工作副本中进行了更改。然后,出现紧急情况,您必须立即处理。
 
  stashing 更改的标准工作流程是:
  进行本地更改
  存储本地更改
  <其他作品>
  重新应用隐藏的更改
  当您使用git stash [push]命令存储更改时,git 将重置为 HEAD。然后,您可以继续处理您需要的任何事情,提交到存储库,就好像您从未进行过原始更改一样。
 
  一旦你首先完成了任何让你偏离轨道的事情,使用git stash pop应用你的更改并将它们从存储中删除。您还可以使用 git stash apply 应用您的更改并将它们保存在存储中。如果您想快速将更改应用到多个分支,这可能很有用。
 
  使用多个 Stash
  如果您真的很忙,您可能会发现自己同时处理多项任务,并且您可能需要将它们全部隐藏起来。别担心, git stash 就是为此而构建的。
 
  每次使用 git stash push 时,都会保存另一组更改。使用git stash list显示您已隐藏的所有内容。你会看到有点像这样的东西:
 
  复制
  stash@{0}: WIP on main: 2fba62e first commit
  stash@{1}: WIP on main: 2fba62e first commit
  1.
  2.
  这些消息不是很有用,但是您可以通过在存储时添加自定义消息来为自己留下一些线索:
 
  复制
  git stash push -m "third"
  1.
  当您现在列出时,您会看到您的自定义消息:
 
  复制
  stash@{0}: On main: third
  stash@{1}: WIP on main: 2fba62e first commit
  1.
  2.
  显示记录变更的差异
  要找出存储中发生的变化,请使用 git stash show。如果没有进一步的参数,它将显示最新存储的差异摘要,如下所示:
 
  复制
  $ git stash show
  README.md | 3 +++
  1 file changed, 3 insertions(+)
  1.
  2.
  3.
  您还可以传递存储 id 来查询特定条目:
 
  复制
  git stash show stash@{0}
  1.
  从 Stash 创建一个分支
  您可能会认为存储中的更改非常重要,以至于它们应该放在自己的分支中。如果是这样,请使用分支命令从存储中创建一个新分支:
 
  复制
  git stash branch
  1.
  同样,默认情况下这将适用于最近的存储,但如果需要,您可以提供存储 id。Git 从存储库中的同一点创建新分支作为存储。然后它将存储中的更改应用到您的工作副本。
 
  清理 Stash
  没有“git unstash”命令。如果要删除存储条目,请使用 drop:
 
  复制
  git stash drop
  1.
  同样,这默认为最新的,但您可以提供一个存储 ID。如果您决定要摆脱 Stash 的所有内容,请使用以下命令:
 
  复制
  git stash clear
  1.
  使用 git stash 进行临时轻量级提交
  Git 存储库远没有完整存储库强大。但是它们本身仍然提供许多有用的功能。如果您经常发现自己需要在工作中切换分支,那就请使用 stashes。
 
  Stashing 只是 git 的一小部分,它是一个提供很多东西的程序。

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表