说我有:
>which -a foo
/bin/foo
/usr/bin/foo
Run Code Online (Sandbox Code Playgroud)
我想要的东西:
>foo
Warning: multiple foo in PATH
... foo gets executed ...
Run Code Online (Sandbox Code Playgroud)
这个功能今天真的让我节省了很多时间.我应该猜到这种情况发生得比较早,但是在开始时我的问题并不清楚,我开始向相反的方向挖掘.
当返回类型需要更改时,有哪些策略可以弃用函数?例如,我有:
BadObject foo(int); // Old function: BadObject is being removed.
Object foo(int); // New function.
Run Code Online (Sandbox Code Playgroud)
Object并且BadObject在内部非常不同,并且交换它们的返回类型将破坏我的库的当前用户的代码.我的目标是避免这种情况.
我可以标记为BadObject foo(int)已弃用,并让用户有时间更改受影响的代码.
但是,我不能foo基于return-type 重载.foo命名非常好,不需要额外的参数.如何在保持旧版本的同时将新功能添加到我的库中,至少有一段时间?
在不破坏过多依赖代码的情况下弃用旧函数的策略是什么,同时为用户提供迁移到新版本的时间?理想情况下,我会保留当前的函数名称和参数列表,因为它现在命名得很好.感觉这应该是一个相当普遍的问题:什么是解决它的好方法?
我使用本教程在服务器上安装了gitolite .这属于"非根"方法.
当我尝试将gitolite-admin克隆回我的客户端时,它失败了.我收到此错误消息:
git clone gitolite@server.com:gitolite-admin
Cloning into gitolite-admin...
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
也:
git clone ssh://gitolite@server.com:gitolite-admin
Cloning into gitolite0admin...
Using username "git-upload-pack 'gitolite".
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
我也尝试追加.git到repo名称的末尾,并且我也尝试添加repositories/gitolite-admin(由上面链接的教程中的错误建议)以及这两者的组合并且都没有工作.我在谷歌上找不到关于"使用用户名"位的结果,这引起了我的兴趣.
我可以通过SSH连接到本机,它告诉我,我有机会与R和W gitolite-admin.那么,SSH正在运作?
我offsetwidth在Firefox和Chrome中获得了相同元素的不同值,这使得元素显示不正确.请提出一些解决方案,以保持一致性.
我的存储库中有一个目录结构:
|-repository/
| | |-repository/fileOne
| |
| |-subOne/
| | |-subOne/fileTwo
| |
| |-subTwo/
| |-subTwo/fileThree
Run Code Online (Sandbox Code Playgroud)
我想将目录移动subOne到不同的存储库中.要做到这一点,我是这样分开subOne使用git-filter-branch:
$ git filter-branch --subdirectory-filter subOne --prune-empty
Run Code Online (Sandbox Code Playgroud)
这给我留下了一个如下所示的分支历史记录:
$ git log --oneline
0c0ea11 subOne history
6318bba subOne history
c96fddb Initial commit
Run Code Online (Sandbox Code Playgroud)
这正是我想要的; 从另一个仓库,我可以做一个git fetch和git merge,增加了subOne历史到其他仓库.那很棒.
但是,git-filter-branch已删除subOne.检查我的分支上的目录结构:
$ ls
fileOne
$ pwd
/this/is/a/path/repository
Run Code Online (Sandbox Code Playgroud)
pwd 应阅读:/this/is/a/path/repository,但ls应显示subOne在存储库中.我得到的是subOne向上移动的文件,并删除了目录.
如何在subOne不丢失目录的情况下提取?
我正在学习以网络为中心的编程,自己写博客,使用PHP和MySQL数据库后端.这应该取代我目前的(基于Drupal)博客.
我已经决定,post应该包含一些数据:id,userID,title,content,time-posted.这为数据库表创建了一个很好的模式.不过,我在决定如何组织存储时遇到了问题content.
我可以:
content将是本地文件的URL,然后我将读取,格式化和显示该文件.content,即将其放入数据库.如果我去了(1),搜索帖子的内容会有点问题 - 我只限于元数据搜索,或者我必须在搜索时阅读每个文件的内容(虽然我不知道多少这会是一个问题- grep -ir "string" .是不是太慢...).但是,图像(如果有的话)将被URL引用,因此引用content至少是内部一致的方法,并且我可以轻松地重用内容,因为文本文件非常容易使用,与SQL数据库文件.
但是,与(2)一起,我可以使用longtext.在content随后将需要消毒之前,我试图把它放入元组,而我受到尺寸的限制(虽然,这是不可能的,我会写一个4GB的博客文章).搜索会很容易.
我(目前)没有看到哪种方式(a)更容易实现,(b)更容易实现.
我应该走哪条路/通常如何做?任何(1)或(2)的利弊都将受到赞赏.
我通过M Hartl的教程来了解Ruby on Rails.
我已经完成了第6章和git pushgit-hub的工作,但是我收到了这个错误:
rene @ Linux-Ubuntu:〜/ rails_projets/sample_app $ git push Permission denied(publickey).
致命:远程端意外挂断
我重新安装了一个新的公钥作为Help-Git指令
debug1: Next authentication method: publickey
debug1: Offering DSA public key: rene@Linux-Ubuntu
debug1: Authentications that can continue: publickey
debug1: Offering RSA public key: rene@Linux-Ubuntu
debug1: Authentications that can continue: publickey
debug1: Trying private key: [~/.ssh/id_rsa]
debug1: Trying private key: [~/.ssh/id_dsa]
debug1: No more authentication methods to try.
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)
我在存储库中有文件:
rene @ Linux-Ubuntu:〜/ .ssh $ ls
ak.bak config id_dsa id_dsa.pub id_rsa …
我按照http://help.github.com/win-set-up-git/上的帮助 在Windows 7 x64上安装git(msysgit).
在设置我的帐户之前,一切都很顺利.
但是一旦我尝试git config --global user.name ......了git bash总是向我展示git的用法,简而言之就是帮助.每一个命令(status,--version,diff,help,status,...)显示了相同的信息:
usage: git [--version] [--exec-path.......] ....
ssh工作得很好,因为我可以把ssh密钥放在一边.如果我在git中输入"sit"并输入错误:找不到命令
谢谢你的帮助.我想我可能错过了安装中的一个选项.
我想看到diff文件中间的段落和包含单个段落的文件之间.
该段落在60文件的行上foo,文件bar仅包含该段落,可能存在细微差别.
我可以用sed这样的方式提取那段:sed -n 60,60p foo.我该如何使用它diff?
以下不工作:
sed -n 60,60p foo | diff bar # diff: missing operand after `foo`
diff bar `sed -n 60,60p foo` # diff: extra operand `in`
Run Code Online (Sandbox Code Playgroud)
我可以:
sed -n 60,60p foo >> tempfile; diff bar tempfile
Run Code Online (Sandbox Code Playgroud)
有没有一个解决方案不要求我暂时使用管道存储?
我有一个简单的程序:
int main() {
char *c = "message";
char *z = "message";
if ( c == z )
printf("Equal!\n");
else
printf("Not equal!\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想知道为什么这个打印Equal!,即使在关闭优化的情况下进行编译(-O0).这将表明,这两个c和z指向相同的内存区域,并因此在第一突变z(例如,改变z[0]到a)将是昂贵的(需要复制和写入).
我对正在发生的事情的理解是我没有声明一个类型数组char,而是创建一个指向a的第一个字符的指针string literal.因此,c并且z都存储在数据段中,而不是存储在堆栈中(并且因为它们都指向相同的字符串文字,所以c == z是真的).
这与写作不同:
char c[] = "message";
char z[] = "message";
if ( c == z ) printf("Equal\n");
else printf("Not equal!\n");
Run Code Online (Sandbox Code Playgroud)
其打印Not equal! …