小编man*_*lds的帖子

git diff的/ a/b前缀是什么原因

我已经使用git多年了,并且总是想知道为什么git diff用/和b /作为修改文件的名称前缀.我预计最终会偶然发现一个有用的用例,但直到现在它总是令人讨厌而且从来没有用过.

到底有什么好处呢?为什么默认启用?在哪些情况下有用?

git git-diff

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

nuget-packing csproj与nuspec之间的差异

最近,我开始从我的几个项目中收集nuget包.首先,我开始使用Package Explorer应用程序.这是一个很好的工具,但如果你进行持续集成,它就不那么有用了.然后我研究了指定nuspec模板文件,并将更改数据(例如版本号)作为命令行参数传递.后来,我想知道如何定义nuget包依赖项.事实证明,如果指定csproj,nuget.exe已经基于package.config执行此操作.此外,它还从汇编信息中提取相关数据,如作者,版本,版权.我现在缺少的是能够在命令行中指定licenseUrl.但我希望这个问题更加通用.所以我问:

包装nuget包的首选方法是什么?

.net c# nuget

49
推荐指数
4
解决办法
2万
查看次数

在Powershell控制台中使用CTRL + D退出并按CTRL + L到cls

我想做

CTRL+ D- 退出Powershell控制台

CTRL+ L- 清除屏幕

喜欢在bash.

到目前为止,我已经看到我们可以定义

function ^D {exit}
Run Code Online (Sandbox Code Playgroud)

但这意味着我必须按CTRL + D然后按Enter键才能正常工作.

而且,它甚至没有让我定义

function ^L {exit}
Run Code Online (Sandbox Code Playgroud)

无论如何在默认的Powershell控制台中添加这些键绑定?

powershell keyboard-shortcuts

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

我可以在git上将分叉项目更新为原始/主副本吗?

几个星期前,我在GitHub上分了一个公共项目.今天,我想尝试一些东西,但我想确保我使用的副本是最新的.

我可以先更新我的前叉吗?

如果在我开始更改之后叉子发生了变化,会发生什么.我可以再次更新我的分叉,同时将我的更改留在那里(即合并,如果需要的话?)

git fork github tortoisegit

32
推荐指数
1
解决办法
8474
查看次数

如何用git push覆盖,覆盖对git服务器的更改?

我们正在推动构建到heroku,并希望在没有引入最新更改的情况下推送.我基本上使用github repo作为我的源代码控制存储库并从几台不同的机器推送到git heroku repo.由于我们有一些构建服务器推送到同一个heroku存储库,因此有时从构建服务器推送最新的位会抛出一条消息,说我需要在提交和推送之前提取最新信息.

但是,由于构建服务器的代码保证是最新的,我想抛弃pull中的更改,只需提交并推送文件而不进行合并.

有没有办法做到这一点?关于如何最好地设置它的任何其他建议?

git github heroku

23
推荐指数
1
解决办法
9154
查看次数

"无效的项目描述",从GIT回购问题导入

将我的GITrepo从PC计算机复制到我的MAC后,我似乎无法将其导入日食.导入通过eGit插件直接从现有的本地git存储库进行.

相同的导入在现有Windows计算机上完全正常.

请指教.

org.eclipse.core.internal.resources.ResourceException: Invalid project description.
        at org.eclipse.core.internal.resources.Project.checkDescription(Project.java:162)
        at org.eclipse.core.internal.resources.Project.assertCreateRequirements(Project.java:52)
        at org.eclipse.core.internal.resources.Project.create(Project.java:274)
        at org.eclipse.core.internal.resources.Project.create(Project.java:256)
        at org.eclipse.egit.ui.internal.clone.ProjectUtils.createExistingProject(ProjectUtils.java:115)
        at org.eclipse.egit.ui.internal.clone.ProjectUtils.access$0(ProjectUtils.java:92)
        at org.eclipse.egit.ui.internal.clone.ProjectUtils$1.run(ProjectUtils.java:66)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1957)
        at org.eclipse.egit.ui.internal.clone.ProjectUtils.createProjects(ProjectUtils.java:84)
        at org.eclipse.egit.ui.internal.clone.GitImportWizard.importProjects(GitImportWizard.java:160)
        at org.eclipse.egit.ui.internal.clone.GitImportWizard.access$0(GitImportWizard.java:142)
        at org.eclipse.egit.ui.internal.clone.GitImportWizard$1.run(GitImportWizard.java:83)
        at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
    Contains: OK
    Contains: /Users/me/Repositories/ABC overlaps the location of another project: 'ABC'
Run Code Online (Sandbox Code Playgroud)

eclipse git egit

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

基于另一个分支创建git分支

我想基于其他分支创建本地分支.例如我输入:

git checkout -b feature1 release1.1.3

之后我得到:

fatal: git checkout: updating paths is incompatible with switching branches.

这有什么问题?

git git-branch

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

为什么编译器无法推断方法的类型?

在以下代码中:

public class A
{
    public decimal Decimal { get; set; }
}

public decimal Test()
{
    return new List<A>().Sum(SumDecimal);
}

public decimal SumDecimal(A a)
{
    return a.Decimal;
}
Run Code Online (Sandbox Code Playgroud)

该行return new List<A>().Sum(SumDecimal);有一个错误,指出这SumDecimal是一个模糊的调用.

为什么编译器无法推断出类型SumDecimal.但是,以下工作:

return new List<A>().Sum((Func<A, decimal>) SumDecimal);
Run Code Online (Sandbox Code Playgroud)

当然,通常的lambda方式也适用:

return new List<A>().Sum(x => SumDecimal(x));
Run Code Online (Sandbox Code Playgroud)

在更多实验中,如果我编写自己的扩展方法:

public static class MyExtensions
{
    public static T MySum<T, T2>(this IEnumerable<T2> ie, Func<T2, T> d)
    {
        return default(T);
    }
}
Run Code Online (Sandbox Code Playgroud)

并称之为,编译器推断得很好:

return new List<A>().MySum(SumDecimal);
Run Code Online (Sandbox Code Playgroud)

我看到,IEnumerable<T>.Sum目前超载int, …

c# linq ienumerable

18
推荐指数
0
解决办法
181
查看次数

npm glob pattern不匹配子目录

在我package.json,我有一个**/*Test.js用于匹配文件的脚本块.运行时npm,它们与子目录不匹配多个级别.直接在命令行上执行时,它们按预期工作.

任何人都可以解释发生了什么,并提供解决方法或解决方案?

package.json

{
  "name": "immutable-ts",
  "scripts": {
    "test": "echo mocha dist/**/*Test.js",
  }
}
Run Code Online (Sandbox Code Playgroud)

执行

% npm run test

> immutable-ts@0.0.0 test:unit .../immutable-ts
> echo mocha dist/**/*Test.js

mocha dist/queue/QueueTest.js dist/stack/StackTest.js

% echo mocha dist/**/*Test.js

mocha dist/queue/QueueTest.js dist/stack/StackTest.js dist/tree/binary/BinaryTreeTest.js

% ls dist/**/*                                                                                                                                                                                          

dist/collections.js  dist/queue/QueueTest.js  dist/tree/binary/BinaryTree.js      dist/immutable.js.map        dist/stack/Stack.js.map             dist/tree/binary/BinaryTreeTest.js.map
dist/immutable.js    dist/stack/Stack.js      dist/tree/binary/BinaryTreeTest.js  dist/queue/Queue.js.map      dist/stack/StackTest.js.map
dist/queue/Queue.js  dist/stack/StackTest.js  dist/collections.js.map             dist/queue/QueueTest.js.map  dist/tree/binary/BinaryTree.js.map
Run Code Online (Sandbox Code Playgroud)

mocha.js node.js npm package.json

17
推荐指数
1
解决办法
4888
查看次数

处理生产配置中的密码以进行自动部署

我在这里看到了相关的问题,但它们似乎并没有完全回答我的需要.

我们使用Powershell脚本来部署我们的应用程序,并且大多数环境(UAT等)的配置文件中的密码等信息都是纯文本.这不是一个大问题,但是当谈到PREPROD和PROD时,这是一个大问题.因此我们在配置中有一些标记,如"{{prompt-password}}",它将提供登录对话框(Get-Credential),进行部署的人员可以输入凭证并继续部署.

但这对自动部署没有实际帮助(意味着通过TeamCity等工具一键部署)

我应该使用非对称加密(http://msdn.microsoft.com/en-us/library/as0w18af.aspx),其中密码使用公钥加密,在配置中输入,并存储私钥(如上所述)这里http://msdn.microsoft.com/en-us/library/tswxhw92.aspx)在"代理"中(如在TeamCity将触发部署的VM中,并且具有受限访问权限)运行自动部署并且可以解密密码?在密码学和东西上并不是很强大,但这听起来像是要走的路吗?还有其他建议吗?人们如何处理这种自动部署?


更新:

好的,我已经完成并实施了它.我在C#中编写了一个使用Crypography库的控制台应用程序.该应用程序生成密钥:

RSACryptoServiceProvider rsa = GetRsa(containerName);
File.WriteAllText("keys.kez",rsa.ToXmlString(true));
Run Code Online (Sandbox Code Playgroud)

我也拿出了公钥:

File.WriteAllText("public.pke", rsa.ToXmlString(false));
Run Code Online (Sandbox Code Playgroud)

将公钥提供给必须加密密码并要求他们在配置中输入密码的任何人.将keys.kez文件放在必须运行部署的任何代理中.

c# deployment powershell configuration production-environment

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