git - 在删除本地 Git 存储库之前,请检查是否没有丢失任何内容
问题描述
我想删除也有远程的项目的本地 Git 存储库。但我不想失去我对这个存储库所做的任何事情。我有以下清单:
- 是否有任何分支不包含在远程存储库中?
- 是否有任何标签未包含在远程存储库中?
- 有藏品吗?
- 是否有任何被忽略的文件可能包含有用的数据?
- 索引是否与工作目录具有相同的数据?
是否有一个 Git 命令可以执行上述所有检查,以及我在上面列表中忘记的那些?
解决方案
我刚刚从 WSL1 迁移到 WSL2,因此(为了提高性能)重新克隆了 Linux 部分中 Windows 部分中的许多 git 存储库。我现在希望在检查完这类事情后删除 Windows。我还没有找到一个可以完成所有工作的命令 - 我运行了类似于以下脚本的内容,该脚本已针对您的清单进行了调整:
#!/bin/bash
echo "^[[31mBranches^[[0m"
git for-each-ref --format="%(refname:short) %(push:trackshort)" refs/heads | grep -v '=$'
echo -e "\n^[[31mUnpushed tags^[[0m"
git push --tags --dry-run
echo -e "\n^[[31mStash^[[0m"
git stash list
echo -e "\n^[[31mIndex and ignored files^[[0m"
git status --ignored
分支部分打印本地分支,这些分支要么未推送(无符号),要么落后/之后/与其远程(<
或>
)冲突<>
;其他部分希望是不言自明的。
推荐阅读
- lua - 尝试调用 nil 值(字段“ShowInventory”)[ESX2]
- scala - 用 Scala Spark 比较两个值
- c# - 避免 .Net Standard 中的非跨平台依赖项
- python - PyTorch Gradient Accumulation 小数据集的最后一步
- excel - VBA:运行宏后,粘贴设置更改为错误
- python - 如何使集合的子类从 __and__、__sub__ 和 __or__ 返回子类的实例
- macos - 在 MAC 上冲泡安装
- frame - 从内核模块发送以太网帧
- laravel - 从 Laravel 特定目录中删除文件
- wordpress - 如何用循环重写这个 Ansible 剧本?