小编smh*_*ich的帖子

`git pull` 是怎么吃掉我的作业的?

我感觉就像校长办公室里的一个孩子,解释说我的作业在到期前一天晚上被狗吃掉了,但我正盯着脸上的一些疯狂的数据丢失错误,我无法弄清楚它是怎么发生的。我想知道 git 怎么会吃掉我的整个存储库!我已经多次将 git 放入绞拧器中,它从不眨眼。我用它将 20 Gig Subversion 存储库拆分为 27 个 git 存储库,并将 foo 过滤分支出来以解决混乱问题,并且它从未在我身上丢失过一个字节。reflog 总是可以依靠的。这次地毯不见了!

从我的角度来看,我所做的只是运行git pull,它破坏了我的整个本地存储库。我的意思不是说它“弄乱了签出的版本”或“我所在的分支”或类似的东西。我的意思是整件事都没有了

这是事件发生时我的终端的屏幕截图:

事件截图

让我带你了解一下。我的命令提示符包含有关当前 git 存储库的数据(使用 prezto 的 vcs_info 实现),因此您可以查看 git 存储库何时消失。第一条命令就够正常了:

  » caleb » jaguar » ~/p/w/incil.info » ? ? zend ? »
??? git co master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
Run Code Online (Sandbox Code Playgroud)

在那里你可以看到我在 'zend' 分支上,并检查了 master。到现在为止还挺好。您将在我的下一个命令之前的提示中看到它成功切换了分支:

  » caleb » jaguar » ~/p/w/incil.info » ? ? master ? »
??? git pull
remote: Counting objects: …
Run Code Online (Sandbox Code Playgroud)

debugging git data-recovery

53
推荐指数
1
解决办法
3553
查看次数

pkill 会最后杀死自己(及其父进程)吗?

我正在编写一个 bash 脚本,它会杀死一堆按某些标准选择的进程,然后退出。唯一的问题是这些标准适用于脚本及其父进程(bashsshd)本身,因此为了避免在脚本完成工作之前杀死脚本,我首先获取与 匹配的进程ps,然后过滤掉脚本及其父母用sed,最后用 杀死剩余的进程kill

现在我想知道是否可以将其简化为单个pkill调用,但显然,只有在保证最后pkill杀死自身及其父进程(如果它们出现在要杀死的进程列表中)的情况下,这才有效。

是否有这样的保证落实到pkill

linux bash process kill

4
推荐指数
1
解决办法
3245
查看次数

标签 统计

bash ×1

data-recovery ×1

debugging ×1

git ×1

kill ×1

linux ×1

process ×1