小编Ran*_*all的帖子

从Git中的分支中删除提交

我想知道如何删除提交.

通过delete,我的意思是,如果我没有做那个承诺,当我将来做一推,我所做的更改不会推到远程分支.

我读了git help,我认为我应该使用的命令是git reset --hard HEAD.它是否正确?

git git-rebase git-reset

3035
推荐指数
28
解决办法
214万
查看次数

如何恢复Git中丢失的存储?

我经常使用git stashgit stash pop保存和恢复工作树中的更改.昨天我的工作树上有一些变化,我已经藏起来了,然后我对工作树做了更多改动.我想回去查看昨天发生的变化,但git stash pop似乎删除了对相关提交的所有引用.

我知道如果我使用git stash那么.git/refs/stash包含用于创建存储的提交的引用.而.git/logs/refs/stash包含整个存储.但那些参考文献已经消失了git stash pop.我知道提交仍然在我的存储库中,但我不知道它是什么.

有没有一种简单的方法来恢复昨天的隐藏提交引用?

请注意,这对我来说并不重要,因为我有每日备份,可以回到昨天的工作树来获取我的更改.我问,因为必须有一个更简单的方法!

git recovery git-stash

1617
推荐指数
22
解决办法
28万
查看次数

如何在Vim中的括号(或引号或......)之间进行选择?

我确定曾经有过这种插件的插件,但是现在我需要它,我似乎无法找到它(自然而然),所以我只会问好看和简单.

在括号,引号或一般匹配字符列表之间选择的最简单方法是什么?

   write ( *, '(a)' ) 'Computed solution coefficients:'
Run Code Online (Sandbox Code Playgroud)

例如,在这里我想选择(a),或Computed solution coefficients:.

我对多线感兴趣,只是在一条线上发生的情况.

vim quotes brackets parentheses yank

212
推荐指数
7
解决办法
9万
查看次数

将Java密钥库转换为PEM格式

我正在尝试使用keytool和openssl应用程序将Java密钥库文件转换为PEM文件.但我找不到转换的好方法.有任何想法吗?

我没有将密钥库直接转换为PEM,而是首先尝试创建PKCS12文件,然后转换为相关的PEM文件和密钥库.但我无法使用它们建立连接.(请注意,我只需要一个PEM文件和一个Keystore文件来实现安全连接.没有像"从一个java密钥库文件开始"这样的限制.:)所以从我的情况可以接受从其他格式开始

但是从jks到pem的直接转换方法是优选的.

java encryption https openssl ssl-certificate

124
推荐指数
6
解决办法
23万
查看次数

如何在移动/重命名的文件上执行git diff?

我用了一个文件git mv.现在我想在新文件上做一个diff来将它与旧文件(旧的,现在不存在的名称)进行比较.

我该怎么做呢?

git diff mv file-rename

120
推荐指数
3
解决办法
2万
查看次数

如何安装一组Perl模块的特定版本?

我的任务是复制生产环境以创建许多测试/坐标环境.

我需要做的一件事是建立Perl,多年来已经安装了所有模块(包括内部和外部模块).我可以使用CPAN.pm autobundle,但这将导致测试环境具有生产所具有的更新版本的外部模块.

获取和安装(很多)特定于版本的Perl模块的最简单/最好的方法是什么.

perl cpan module version

71
推荐指数
4
解决办法
5万
查看次数

如何杀死后台/分离的ssh会话?

我正在使用程序协同与ssh隧道

它工作,我只需打开一个控制台类型这两个命令:

ssh -f -N -L localhost:12345:otherHost:12345 otherUser@OtherHost
synergyc localhost
Run Code Online (Sandbox Code Playgroud)

因为我很懒,我制作了一个Bash-Script,只需点击一下图标即可运行:

#!/bin/bash
ssh -f -N -L localhost:12345:otherHost:12345 otherUser@OtherHost
synergyc localhost
Run Code Online (Sandbox Code Playgroud)

上述与bash脚本工作为好,但现在我也想杀死协同效应,并通过鼠标点击一个SSH通道,所以我必须协同和ssh的PID保存到文件后,杀死他们:

#!/bin/bash

mkdir -p /tmp/synergyPIDs || exit 1
rm -f /tmp/synergyPIDs/ssh || exit 1
rm -f /tmp/synergyPIDs/synergy || exit 1

[ ! -e /tmp/synergyPIDs/ssh ] || exit 1
[ ! -e /tmp/synergyPIDs/synergy ] || exit 1

ssh -f -N -L localhost:12345:otherHost:12345 otherUser@OtherHost
echo $! > /tmp/synergyPIDs/ssh
synergyc localhost
echo $! > /tmp/synergyPIDs/synergy
Run Code Online (Sandbox Code Playgroud)

但是这个脚本的文件是空的.

如何获得ssh和协同作用的PID?
(我尽量避免ps aux | grep ... …

ssh bash pid background-process

59
推荐指数
6
解决办法
9万
查看次数

如何在grep中转义括号

我想在目录中的所有JavaScript文件中grep函数调用'init()'.我如何使用grep执行此操作?

特别是,我如何逃避括号,()

grep escaping

57
推荐指数
2
解决办法
6万
查看次数

vim退格离开^?

在Vim中,当我backspaceinsert模式中按下键时,它会保留^?字符并且不会删除它想要删除的字符.

我有以下内容 .vimrc

syntax on
set number
set expandtab
set incsearch
set nocompatible
set backspace=indent,eol,start
fixdel
Run Code Online (Sandbox Code Playgroud)

这也发生在命令模式中.当我错误地键入W而不是w保存时,我按下backspace键,它给了我以下内容:

:W^?
Run Code Online (Sandbox Code Playgroud)

关于什么是错的任何想法以及如何解决它?!

更新:在将此问题发布到SO之前,我已经完成了基本的谷歌搜索并尝试了搜索结果第一页的所有建议,但未成功.

@strcat我正在使用vim版本7.0.237,KDE控制台1.6.4,Linux 2.6.18 x86_64机器.

@graywh wrt cat -v,对于删除,我得到^[[3~退格,我得到^?.

输出stty -a如下

speed 38400 baud; rows 38; columns 194; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = …
Run Code Online (Sandbox Code Playgroud)

vi vim keymapping backspace

54
推荐指数
5
解决办法
6万
查看次数

如何让Perl和Python打印正在执行的程序的每一行?

我知道bash -x script.sh在实际执行之前会执行脚本打印每一行.如何使Perl和Python解释器做同样的事情?

python debugging bash perl trace

40
推荐指数
3
解决办法
7843
查看次数