## **描述** 为`libra`添加 stash 功能。 ## **实现方案** 1. **添加 `stash` 子命令**: 在 `libra/src/cli.rs` 文件中添加 `stash` 子命令,用于处理相关的命令行参数。 2. **实现 `stash push`**: * 为暂存区创建一个 `commit`。 * 为工作目录创建一个 `commit`。 * 创建一个 `stash commit`,合并暂存区和工作目录的 `commit`。 * 将 `stash commit` 存放到 `.git/refs/stash` 中。 * 清空工作目录和暂存区。 3. **实现 `stash list`**: * 读取并展示 `.git/refs/stash` 中的所有 `stash` 记录。 4. **实现 `stash pop`**: * 应用最新的 `stash`。 * 从 `stash` 列表中移除最新的 `stash`。 5. **实现 `stash apply`**: * 应用指定的 `stash`,但不从列表中移除。 6. **实现 `stash drop`**: * 从 `stash` 列表中移除指定的 `stash`。
描述
为
libra添加 stash 功能。实现方案
stash子命令: 在libra/src/cli.rs文件中添加stash子命令,用于处理相关的命令行参数。stash push:commit。commit。stash commit,合并暂存区和工作目录的commit。stash commit存放到.git/refs/stash中。stash list:.git/refs/stash中的所有stash记录。stash pop:stash。stash列表中移除最新的stash。stash apply:stash,但不从列表中移除。stash drop:stash列表中移除指定的stash。