小编Dav*_*man的帖子

拉动后将已提交(但未推送)的更改移动到新分支

我已经完成了相当多的工作("你的分支在37次提交之前超过了'origin/master'.")这真的应该进入它自己的分支而不是进入master.这些提交只存在于我的本地机器上,并没有被推到origin,但情况有点复杂,因为其他开发人员一直在推动origin/master,我已经撤消了这些更改.

如何追溯将我的37个本地提交移动到新分支?根据文档,似乎git rebase --onto my-new-branch master...origin/master应该这样做,但两者都只是给我错误"致命:需要单一修订". man git-rebase没有提供修改,rebase并且其示例没有这样做,所以我不知道如何解决此错误.

(请注意,这不是将现有的,未完成的工作移动到Git中的新分支如何将我的本地未提交的更改合并到另一个Git分支中的重复因为这些问题涉及本地工作树中未提交的更改,而不是具有的更改已在当地承诺.)

git

420
推荐指数
7
解决办法
14万
查看次数

缩进注释以匹配vim中的代码

我在vim中完成所有编码并且对它非常满意(所以,请不要"使用不同的编辑器"响应),但是因为smartindent功能想要不缩进以#开头的注释而持续烦恼.例如,我想要

  # Do something
  $x = $x + 1;
  if ($y) {
    # Do something else
    $y = $y + $z;
  }
Run Code Online (Sandbox Code Playgroud)

而不是vim的首选

# Do something
  $x = $x + 1;
  if ($y) {
# Do something else
    $y = $y + $z;
  }
Run Code Online (Sandbox Code Playgroud)

我能够阻止评论被发送到线路开头的唯一方法是在点击#之前插入和删除线路上的字符(每次都要记住要做的麻烦)或完全关闭smartindent (当我打开/关闭括号时,失去自动缩进增加/减少).

如何设置vim来维护我的注释缩进而不是将它们发送到行的开头?

vim

44
推荐指数
4
解决办法
9105
查看次数

什么时候可以或者我应该在文件或目录上使用chmod g + s?

在最近部署到新的(Solaris 9)环境时,其中一个步骤是将一组文件和目录复制到新位置,然后将组UID位(使用"chmod -R g + s")应用于所有目录树中的文件给出了-rwxr-s的模式.结果是,除非单独打开并重新保存,否则我们的shell脚本都不会执行.我应该补充一点,我们之前在复制文件之前在目标父文件夹上设置了g + s; 这已经将所有新目录的初始模式设置为drwxr-s ---但文件的模式为-rwxr-x ---

在最终发现导致问题的步骤后,我们能够切断该步骤并继续进行.

但是,我想了解"s"位在应用于目录和文件时的含义,希望这能解释为什么我们首先遇到问题.

unix sysadmin

32
推荐指数
4
解决办法
8万
查看次数

当我的数字从1开始而不是零时,我如何模数?

我想解决这个问题的方法非常简单,但我已经考虑了一段时间,但却找不到优雅的解决方案.

我有一系列数字,例如1..10 = (1,2,3,4,5,6,7,8,9,10),它是圆形的,这意味着最后一个数字后面的数字又是第一个数字(next(10)=1).

对于i>0范围内的给定数字,我想计算下一个m和前m一个数字.例如next(5,1)=6 next(10,1)=1 next(10,2)=2 prev(5,2)=3 prev(1,1)=10 prev(1,2)=9.

对于next我可以采取(i+m)%n其中n在该范围的长度(n=10在本例中).但是因为prev我找不到一个优雅的解决方案.

modulo

27
推荐指数
2
解决办法
1万
查看次数

我如何对加密算法进行逆向工程?

我写了一个以这种方式加密文本的应用程序:

  1. 获取输入文本

  2. 翻译文字

  3. 转换为十六进制

  4. 与钥匙的XOR

  5. Base64编码

现在,我自己没有进行大量的加密/编码,所以我的问题可能听起来很愚蠢,但是,我说我得到的文件中包含上述算法的内容而且我不知道这个算法.如何开始"打破"文本,是否有任何指导方针,原则,规则可以遵循?

我的问题与这5个步骤无关,这是一个纯粹的例子.

作为另一个例子,取文字:A751CD9E1F99.我该如何开始调查这可能意味着什么?

encryption encoding reverse-engineering

16
推荐指数
4
解决办法
3万
查看次数

按间隔分组

给定一个包含数字字段(mynum)的表(mytable),如何编写一个SQL查询,根据该字段中的值范围而不是每个不同的值来汇总表的数据?

为了一个更具体的例子,让我们将它的间隔设为3,并用count(*)进行"汇总",这样结果就会告诉mynum为0-2.99的行数,它是3的行数. -5.99,其中6-8.99等

mysql sql

10
推荐指数
2
解决办法
6393
查看次数

PHP:当用户点击忘记使用md5加密的密码时,如何将原始密码发送给用户?

我使用md5加密我的项目中的密码.

当用户点击忘记密码并提交他的电子邮件时,我必须将密码发送给他.

但密码是使用md5加密的.生成新密码不应该这样做.因为在这个项目中管理员可以看到用户的所有细节.所以我必须向管理员显示原始密码.所以初始密码非常重要.那我怎么能解密密码或任何其他方式给他发送原始密码?

提前致谢...

php md5 flawed-concept

9
推荐指数
2
解决办法
4310
查看次数

创建"Europanto"类型通用脚本语言会有什么障碍?

在本周几种脚本语言之间来回切换之后,我发现自己在想它们的相似之处.然而,我总是想要谷歌(或现在的SO)来记住细节,例如"instanceof"和"endswith"的本地等价物,或者声明界面的正确语法,或者其他什么.

这让我想起了(人类)语言Europonto.只需选择一些模糊的英语语法和一些模糊的浪漫/日耳曼/斯拉夫语词汇,这一切都很好!

那么如果我们尝试用脚本语言做同样的事情会发生什么.对于今天的Python风格的缩进块感觉如何?精细!想要使用原型对象?好!只记得如何拼写某些库函数的PHP名称?没问题!

无论如何,这是疯狂而疯狂的想法.既然我们需要一个承认具体答案的问题,那就让我们这样收紧:

在创建允许[Python,Ruby,PHP,Perl,shell和JavaScript]的所有本机语法和库函数的脚本语言中,最重要的冲突是什么,这样您就可以在语言之间自由地混合代码块和函数名称?

让我们说任何特定的结构应该在声明级别上保持一致.所以我们允许:

foreach( $foo as $bar )
{
   if $foo == 2:
      print "hi"
}
Run Code Online (Sandbox Code Playgroud)

但不是,比方说,

foreach( $foo as $bar )
{
   if $foo == 2:
      print "hi"
   endif
end
Run Code Online (Sandbox Code Playgroud)

冲突可能包括:解析器含糊不清; 名字碰撞; 对象或函数或闭包的冲突语义; 我猜这个范围将是一个巨大的问题,但你告诉我.

我将从一开始就将其作为"社区维基"开始,所以如果您认为这是一个有趣的问题但想要使其更加严谨,请随时编辑.

scripting language-design

6
推荐指数
1
解决办法
259
查看次数

Perl的inet_aton线程安全吗?

inet_aton线程安全的?我根据这UNP POSIX并不需要很多的套接字API的线程安全的认识,所以我必须承担他们没有,但一般我怎么知道,如果事情是线程在Perl安全吗?我需要在何种程度上锁定我调用的库函数?我该如何锁定它们?当我尝试类似的东西lock(&inet_aton)时会给我一个错误: Can't modify non-lvalue subroutine call in lock.

是的,我读过:系统库的线程安全性

perl multithreading

5
推荐指数
1
解决办法
410
查看次数

当local :: lib存在时,如何在站点范围内安装CPAN模块?

我最近建立了一个新系统,并希望安装Padre来检查它.Padre安装说明专门说安装local :: lib,所以我这样做了(虽然我之前从未需要它).然后我继续安装其他几个模块,从我的普通用户帐户运行CPAN,sudo以处理安装所需的根部分.

然后,时间来测试这些模块需要支持的其中一个网络应用程序,而且,看哪,apache找不到它们.他们从命令行加载得很好,快速查看~/perl5确认我怀疑local :: lib劫持了我的CPAN会话并在那里安装了这些模块,而不是在站点范围内安装,尽管我的CPAN配置包括

makepl_arg         [INSTALLDIRS=site]
mbuildpl_arg       [--installdirs site]
Run Code Online (Sandbox Code Playgroud)

我需要对CPAN配置做什么,以便即使安装了local :: lib,也可以在站点范围内安装模块?或者Padre会在没有它的情况下工作,我可以完全删除local :: lib吗?

(我希望安装任何模块,~/perl5除非Padre坚持他们在那里.我开发的代码有自己的项目特定的目录位置,其他一切都应该是站点范围的.我不需要私有的catch-all位置. )

perl cpan padre locallib

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