GoGPT Best VPN GoSearch

OnWorks 网站图标

git-stash - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 git-stash

这是 git-stash 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


git-stash - 将更改隐藏在脏工作目录中

概要


混帐 列表 [ ]
混帐 展示 [ ]
混帐 下降 [-q|--安静] [ ]
混帐 ( pop | apply ) [--index] [-q|--quiet] [ ]
混帐 分支[ ]
混帐 [保存 [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
[-u|--include-untracked] [-a|--all] [ ]]
混帐 清除
混帐 创建 [ ]
混帐 存储 [-m|--message ] [-q|--安静]

商品描述


当你想记录工作目录的当前状态和
索引,但想回到一个干净的工作目录。 该命令保存您的本地
修改并恢复工作目录以匹配 HEAD 提交。

这个命令隐藏的修改可以用 git stash list 列出,
用 git stash show 检查并恢复(可能在不同的提交之上)
使用 git stash 应用。 不带任何参数调用 git stash 相当于 git stash
节省。 默认情况下,藏匿处列为“WIP on 分店名称 ...”,但你可以给出更多
创建时命令行上的描述性消息。

您创建的最新 stash 存储在 refs/stash 中; 较旧的藏匿处被发现在
此引用的引用日志,可以使用通常的引用日志语法命名(例如 stash@{0} 是
最近创建的 stash,stash@{1} 是它之前的一个,stash@{2.hours.ago} 是
也可以)。

配置


保存 [-p|--patch] [-k|--[no-]keep-index] [-u|--include-untracked] [-a|--all] [-q|--quiet]
[ ]
将您的本地修改保存到一个新的 ,然后运行 ​​git reset --hard 来恢复它们。
这部分是可选的,并提供描述和隐藏状态。
为了快速制作快照,您可以省略 “保存”和,但只给予
不会触发此操作以防止拼写错误的子命令
不需要的藏匿处。

如果使用 --keep-index 选项,则所有已添加到索引的更改都将保留
完整。

如果使用 --include-untracked 选项,所有未跟踪的文件也会被隐藏起来
然后用 git clean 清理,使工作目录处于非常干净的状态。
如果使用 --all 选项,则忽略的文件将被隐藏并清理
除了未跟踪的文件。

使用 --patch,您可以交互地从 HEAD 和
要藏起来的工作树。 存储条目的构造使其索引状态
与存储库的索引状态相同,并且其工作树仅包含
您以交互方式选择的更改。 然后将选择的更改从以下位置回滚
你的工作树。 请参阅“交互模式”部分 混帐添加(1) 学习如何
操作 --patch 模式。

--patch 选项意味着 --keep-index。 您可以使用 --no-keep-index 来覆盖它。

列表 [ ]
列出您当前拥有的藏匿处。 每个 与其名称一起列出(例如
stash@{0} 是最新的 stash,stash@{1} 是之前的一个,等等),
进行存储时当前的分支,以及提交的简短描述
藏匿处基于。

stash@{0}:提交时的 WIP:6ebd0e2...更新 git-stash 文档
stash@{1}: 在 master: 9cc0589 ... 添加 git-stash

该命令采用适用于 混帐 日志 控制显示内容的命令
如何。 看 混帐日志(1)。

展示 [ ]
将存储中记录的更改显示为隐藏状态与其状态之间的差异
原来的父母。 当没有给出,显示最新的。 默认情况下,
命令显示 diffstat,但它会接受任何已知的格式 混帐 差异 (例如,git
stash show -p stash@{1} 以补丁形式查看第二个最近的存储)。 你可以
使用 stash.showStat 和/或 stash.showPatch 配置变量来更改默认值
行为。

pop [--index] [-q|--quiet] [ ]
从存储列表中删除单个隐藏状态并将其应用于当前状态
工作树状态,即执行 git stash save 的逆操作。 工作的
目录必须与索引匹配。

应用状态可能会因冲突而失败; 在这种情况下,它不会从
藏匿清单。 您需要手动解决冲突并手动调用 git stash drop
之后。

如果使用 --index 选项,则不仅尝试恢复工作树的
变化,还有索引的变化。 但是,当您遇到冲突时,这可能会失败
(它们存储在索引中,因此您不能再将更改应用为
他们原来是)。

当没有给出,假设 stash@{0},否则必须是参考
形式 stash@{ }.

应用 [--index] [-q|--quiet] [ ]
与 pop 类似,但不要从存储列表中删除状态。 不同于流行, 或许
任何看起来像由 stash save 或 stash create 创建的提交的提交。

分支[ ]
创建并签出一个名为的新分支从提交开始
其中最初创建,应用记录在到
新的工作树和索引。 如果成功,并且是参考
形式藏匿@{ },然后丢弃. 当没有给出,适用
最新的。

如果您运行 git stash save 的分支已经改变得足够多,这将很有用
git stash apply 由于冲突而失败。 由于藏匿处应用在
git stash 运行时 HEAD 的提交,它恢复了最初隐藏的
没有冲突的状态。

清除
删除所有隐藏的状态。 请注意,这些状态将受到修剪,
并且可能无法恢复(见 例子 下面是一个可能的策略)。

下降 [-q|--安静] [ ]
从存储列表中删除单个隐藏状态。 当没有给定,它
删除最新的。 即 stash@{0},否则必须是有效的存储日志
形式 stash@{ 的引用}.

创建信息图
创建一个存储(这是一个常规的提交对象)并返回它的对象名称,没有
将其存储在 ref 命名空间中的任何位置。 这旨在对脚本有用。
它可能不是您要使用的命令; 请参阅上面的“保存”。

商店
存储通过创建的给定存储 混帐 创建信息图 (这是一个悬空合并提交)在
stash ref,更新stash reflog。 这旨在对脚本有用。
它可能不是您要使用的命令; 请参阅上面的“保存”。

讨论


stash 表示为一个提交,其树记录了工作目录的状态,
它的第一个父项是创建存储时 HEAD 处的提交。 的树
第二个父级记录了创建 stash 时索引的状态,并将其创建为
HEAD 提交的子级。 祖先图如下所示:

.----W
//
- - -你好

其中 H 是 HEAD 提交,I 是记录索引状态的提交,W 是一个
提交记录工作树的状态。

示例


拉进一棵脏树
当您处于某事中间时,您会了解到上游发生了变化
可能与您正在做的事情相关。 当您的本地更改没有
与上游的变化冲突,一个简单的 git pull 就可以让你动起来
前锋。

但是,在某些情况下,您的本地更改确实与上游发生冲突
更改,并且 git pull 拒绝覆盖您的更改。 在这种情况下,你可以隐藏
您的更改消失,执行拉取,然后取消隐藏,如下所示:

$ git拉
...
文件 foobar 不是最新的,无法合并。
$ git 藏匿处
$ git拉
$ git 存储弹出

中断的工作流程
当你在做某事时,你的老板进来并要求你修理
马上有事。 传统上,您会提交一个临时分支以
存储您的更改,并返回到您的原始分支进行紧急修复,
喜欢这个:

# ... 黑客 黑客 黑客 ...
$ git checkout -b my_wip
$ git commit -a -m "WIP"
$ git结账大师
$ 编辑紧急修复
$ git commit -a -m "赶紧修复"
$ git checkout my_wip
$ git reset --soft HEAD^
# ... 继续破解 ...

您可以使用 混帐 为了简化上述,像这样:

# ... 黑客 黑客 黑客 ...
$ git 藏匿处
$ 编辑紧急修复
$ git commit -a -m "赶紧修复"
$ git 存储弹出
# ... 继续破解 ...

测试部分提交
当您想要进行两次或多次提交时,可以使用 git stash save --keep-index
工作树中的更改,并且您想在提交之前测试每个更改:

# ... 黑客 黑客 黑客 ...
$ git add --patch foo # 只将第一部分添加到索引
$ git stash save --keep-index # 将所有其他更改保存到 stash
$ 编辑/构建/测试第一部分
$ git commit -m 'First part' # 提交经过全面测试的更改
$ git stash pop # 准备处理所有其他更改
# ... 重复以上五个步骤,直到留下一个提交 ...
$ 编辑/构建/测试剩余部分
$ git commit foo -m '剩余部分'

恢复被错误清除/丢弃的藏匿处
如果您错误地丢弃或清除了藏品,它们将无法通过正常恢复
安全机制。 但是,您可以尝试以下咒语来获取列表
仍然在您的存储库中但无法再访问的存储:

git fsck --无法访问
grep 提交 | 剪切 -d\ -f3 |
xargs git log --merges --no-walk --grep=WIP

使用 onworks.net 服务在线使用 git-stash


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。