我已经完成了相当多的工作("你的分支在37次提交之前超过了'origin/master'.")这真的应该进入它自己的分支而不是进入master.这些提交只存在于我的本地机器上,并没有被推到origin,但情况有点复杂,因为其他开发人员一直在推动origin/master,我已经撤消了这些更改.
如何追溯将我的37个本地提交移动到新分支?根据文档,似乎git rebase --onto my-new-branch master或...origin/master应该这样做,但两者都只是给我错误"致命:需要单一修订". man git-rebase没有提供修改,rebase并且其示例没有这样做,所以我不知道如何解决此错误.
(请注意,这不是将现有的,未完成的工作移动到Git中的新分支或如何将我的本地未提交的更改合并到另一个Git分支中的重复?因为这些问题涉及本地工作树中未提交的更改,而不是具有的更改已在当地承诺.)
我在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来维护我的注释缩进而不是将它们发送到行的开头?
在最近部署到新的(Solaris 9)环境时,其中一个步骤是将一组文件和目录复制到新位置,然后将组UID位(使用"chmod -R g + s")应用于所有目录树中的文件给出了-rwxr-s的模式.结果是,除非单独打开并重新保存,否则我们的shell脚本都不会执行.我应该补充一点,我们之前在复制文件之前在目标父文件夹上设置了g + s; 这已经将所有新目录的初始模式设置为drwxr-s ---但文件的模式为-rwxr-x ---
在最终发现导致问题的步骤后,我们能够切断该步骤并继续进行.
但是,我想了解"s"位在应用于目录和文件时的含义,希望这能解释为什么我们首先遇到问题.
我想解决这个问题的方法非常简单,但我已经考虑了一段时间,但却找不到优雅的解决方案.
我有一系列数字,例如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我找不到一个优雅的解决方案.
我写了一个以这种方式加密文本的应用程序:
获取输入文本
翻译文字
转换为十六进制
与钥匙的XOR
Base64编码
现在,我自己没有进行大量的加密/编码,所以我的问题可能听起来很愚蠢,但是,我说我得到的文件中包含上述算法的内容而且我不知道这个算法.如何开始"打破"文本,是否有任何指导方针,原则,规则可以遵循?
我的问题与这5个步骤无关,这是一个纯粹的例子.
作为另一个例子,取文字:A751CD9E1F99.我该如何开始调查这可能意味着什么?
给定一个包含数字字段(mynum)的表(mytable),如何编写一个SQL查询,根据该字段中的值范围而不是每个不同的值来汇总表的数据?
为了一个更具体的例子,让我们将它的间隔设为3,并用count(*)进行"汇总",这样结果就会告诉mynum为0-2.99的行数,它是3的行数. -5.99,其中6-8.99等
我使用md5加密我的项目中的密码.
当用户点击忘记密码并提交他的电子邮件时,我必须将密码发送给他.
但密码是使用md5加密的.生成新密码不应该这样做.因为在这个项目中管理员可以看到用户的所有细节.所以我必须向管理员显示原始密码.所以初始密码非常重要.那我怎么能解密密码或任何其他方式给他发送原始密码?
提前致谢...
在本周几种脚本语言之间来回切换之后,我发现自己在想它们的相似之处.然而,我总是想要谷歌(或现在的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)
冲突可能包括:解析器含糊不清; 名字碰撞; 对象或函数或闭包的冲突语义; 我猜这个范围将是一个巨大的问题,但你告诉我.
我将从一开始就将其作为"社区维基"开始,所以如果您认为这是一个有趣的问题但想要使其更加严谨,请随时编辑.
是inet_aton线程安全的?我根据这UNP POSIX并不需要很多的套接字API的线程安全的认识,所以我必须承担他们没有,但一般我怎么知道,如果事情是线程在Perl安全吗?我需要在何种程度上锁定我调用的库函数?我该如何锁定它们?当我尝试类似的东西lock(&inet_aton)时会给我一个错误: Can't modify non-lvalue subroutine call in lock.
是的,我读过:系统库的线程安全性
我最近建立了一个新系统,并希望安装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位置. )