小编Gar*_*ark的帖子

如何使用Visual Studio代码作为Git的默认编辑器

在命令行中使用git时,我想知道是否可以使用Visual Studio Code作为默认编辑器,即在创建提交注释时,以及从命令行查看文件的差异.

我明白用它做合并是不可能的(至少在一分钟之内)但是有没有人知道是否有可能用它来查看差异,如果有的话,需要什么命令行选项.gitconfig文件来实现这一目标?

更新1:

我尝试过类似于我过去Notepad ++所做的方法,即

#!/bin/sh

"c:/Program Files (x86)/Notepad++/notepad++.exe" -multiInst -notabbar -nosession -noPlugin "$*"
Run Code Online (Sandbox Code Playgroud)

用过:

#!/bin/sh

"C:\Users\gep13\AppData\Local\Code\app-0.1.0\Code.exe" "$*"
Run Code Online (Sandbox Code Playgroud)

但这会导致错误消息:

C:\temp\testrepo [master +1 ~0 -0]> git commit
[8660:0504/084217:ERROR:crash_reporter_win.cc(70)] Cannot initialize out-of-process crash handler
Aborting commit due to empty commit message.
C:\temp\testrepo [master +1 ~0 -0]>
Run Code Online (Sandbox Code Playgroud)

代码打开正确,具有预期的内容,但它没有等待响应,即单击保存并关闭窗口以返回提示.

更新2:

我刚从一位致力于VSCode的开发人员那里听到了回复.看起来目前不支持此功能:-(

https://twitter.com/IsidorN/status/595501573880553472

如果您有兴趣看到添加此功能,您可能需要考虑在此处添加您的投票:

http://visualstudio.uservoice.com/forums/293070-visual-studio-code/suggestions/7756482-support-git-configure-diff-and-merge-tools

更新3:

我已经可靠地获悉 VSCode团队已经接受了这个功能,所以我期待将来的版本包括它.

更新4:

感谢下面的@ f-boucheros评论,我已经能够让VS Code作为提交注释,rebase等的默认编辑器.我仍然希望看到是否可以将它用作diff工具.

更新5:

根据问题的接受答案,现在可以使用V1.0版本的代码.

git visual-studio-code

312
推荐指数
6
解决办法
12万
查看次数

如何为Cake启用诊断详细程度

我在运行build.cake文件时遇到一些问题,但我无法立即看到问题所在.有没有办法启用诊断详细程度,所以我可以获得有关正在发生的事情的更多信息,以及如何解决问题?

cakebuild

20
推荐指数
1
解决办法
5010
查看次数

Git 忽略意外提交的文件

我正在开发一个有 4 名团队成员的项目,每个人都有不同的文件配置,我们已经在使用,但git update-index --assume-unchanged to/the/file新人没有注意到对配置文件使用更新索引,并意外地将文件推送到存储库,如下所示在:

application/config/database.php
Run Code Online (Sandbox Code Playgroud)

我们正在使用分支,当我们将文件拉到主服务器上时,它没有收到警告/其他信息。但是数据库配置文件已更改,每次我们尝试更改分支时,在更改分支之前始终需要签出以下文件。

我们是否可以通过任何方法忽略该文件,就好像有人更改了它一样?所以它不会提示我们在更改分支之前检查它。

先感谢您。

git

7
推荐指数
1
解决办法
2491
查看次数

如何在文件夹中使用 .gitignore?

我的 git 存储库中有一个 img 文件夹。我想使用 .gitignore 排除文件夹中的图像。

我曾经cd <file path>输入该文件夹和mkdir .gitignore. 但是当我add使用 git 时,不会排除图像。我需要添加什么才能将它们排除在add?

git

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

每次 git push 后执行一个脚本

有一个服务器正在运行并且上面有一个 git 实例。我希望每次用户执行 git push 到服务器时运行一个脚本。我希望我的脚本被执行,然后 git push 继续。任何解决方法?

linux git bash

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

是否可以从 Cake 任务中调用 powershell 命令

我正在从 Psake 构建工具切换到 Cake ( https://cakebuild.net/ )。我正在为相当大的解决方案(30 多个项目)创建一个脚本,其中(目前)有 9 个不同的部署。在 Psake 中调用 PowerShell 命令很简单,因为整个脚本都在 powershell 中运行。

但现在我有一个问题。我必须调用一些在 PS 中运行的命令,但我找不到执行它们的方法。

一些例子:

taskkill /IM iisexpress.exe
Invoke-Command -ComputerName <testing server> -ScriptBlock {import-module WebAdministration; Stop-Website <'name of website'>}
Invoke-Command -ComputerName <testing server> -ScriptBlock {import-module WebAdministration; Start-Website <'name of website'>}
Run Code Online (Sandbox Code Playgroud)

我已经尝试过 StartAndReturnProcess (例如:StartAndReturnProcess("taskkill /IM iisexpress.exe");),但没有成功。我还找到了 Cake.IIS 插件,它可能会解决我启动和停止 IIS 的问题,但还有其他一些我想调用的 PS 命令。

是否可以简单地从 Task 调用 PowerShell 命令?像这样的东西:

Task("DoSomeMagic")
    .Does(() =>
{

    ExecutePowerShellCommad("taskkill /IM iisexpress.exe");
    ExecutePowerShellCommad("Invoke-Command -ComputerName <testing server> -ScriptBlock {import-module WebAdministration; Stop-Website <'name of …
Run Code Online (Sandbox Code Playgroud)

c# powershell cakebuild

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

为什么NuGetPack会回答"无法创建没有依赖关系或内容的包"

我正在尝试使用以下Cake脚本:

Task("Create-NuGet-Packages")
    .IsDependentOn("Build")
    .WithCriteria(() =>DirectoryExists(parameters.Paths.Directories.NugetNuspecDirectory))
    .Does(() =>
{
    var nuspecFiles = GetFiles(parameters.Paths.Directories.NugetNuspecDirectory + "/**/*.nuspec");

    EnsureDirectoryExists(parameters.Paths.Directories.NuGetPackages);

    foreach(var nuspecFile in nuspecFiles)
    {
        // TODO: Addin the release notes
        // ReleaseNotes = parameters.ReleaseNotes.Notes.ToArray(),

        // Create packages.
        NuGetPack(nuspecFile, new NuGetPackSettings {
            Version = parameters.Version.SemVersion,
            BasePath = parameters.Paths.Directories.PublishedLibraries.Combine(nuspecFile.GetFilenameWithoutExtension().ToString()),
            OutputDirectory = parameters.Paths.Directories.NuGetPackages,
            Symbols = false,
            NoPackageAnalysis = true
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

但我一直得到同样的错误:

从NuGetPack返回错误

我已确认生成的*.temp.nuspec文件确实包含正确的文件,并且文件存在于指定的位置,并且BasePath是正确的.

注意:我已经习惯-Verbosity Diagnostic生成传递给NuGet.exe的实际命令,并直接运行它也会导致相同的错误消息.因此,我认为这不是直接与Cake有关的问题,而是与NuGet.exe有关.

c# nuget cakebuild

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

如何使用Cake执行git clone操作

是否可以使用Cake脚本克隆git存储库?如果是这样,怎么办呢?

c# git cakebuild

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

使用 azurerm_virtual_machine_extension 时,PowerShell 脚本不执行

我正在尝试在我的 terraform 执行中使用以下内容:

resource "azurerm_virtual_machine_extension" "vmex" {
    name = "myVM"
    location = "eastus"
    resource_group_name   = "${azurerm_resource_group.rg.name}"
    virtual_machine_name = "${azurerm_virtual_machine.vm.name}"
    publisher = "Microsoft.Compute"
    type = "CustomScriptExtension"
    type_handler_version = "1.9"
    settings = <<SETTINGS
    {
        "fileUris": [
            "https://example.com/scripts/test.ps1"
        ],
        "commandToExecute": "powershell -ExecutionPolicy Unrestricted -File 'test.ps1'"
    }
    SETTINGS
}
Run Code Online (Sandbox Code Playgroud)

当执行时,我得到以下输出:

错误:应用计划时出错:

发生 1 个错误:

  • azurerm_virtual_machine_extension.vmex:发生 1 个错误:

  • azurerm_virtual_machine_extension.vmex:长时间运行的操作终止,状态为“失败”:代码 =“VMExtensionProvisioningError”消息 =“VM 在处理扩展“myVM”时报告失败。错误消息:\“已完成执行命令\”。”

Terraform 不会在出现错误时自动回滚。相反,您的 Terraform 状态文件已使用成功完成的所有资源进行了部分更新。请解决上述错误并再次应用以逐步更改您的基础架构。

当我通过 RDP 进入虚拟机时,我可以看到该文件已正确下载到预期的位置,但是,该文件似乎commandToExecute从未执行过。

如果我直接从下载文件夹运行脚本,它就会成功完成。

任何人都可以提供有关如何解决此问题的任何建议吗?

注意:我尝试了尝试引用该文件的各种组合,但所有这些组合似乎都有相同的结果。

更新:按照评论中的建议检查日志后,尝试运行此代码片段时出现的错误是:

"message": "处理 -File ''test.ps1'' 失败,因为该文件没有 '.ps1' 扩展名。请指定有效的 Windows …

azure terraform terraform-provider-azure

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

为什么使用GitFlow时需要将release分支合并到develop分支?

我正在学习 Gitflow 工作流程。以下是关于 Gitflow 工作流程的示例图。

我认为A、B、C、D的内容是相同的,对吧?

我认为A合并到C然后C合并到D是可以的,但是为什么需要C合并到B?你知道A和B是一样的!

图像

在此输入图像描述

git git-flow

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