在命令行中使用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
如果您有兴趣看到添加此功能,您可能需要考虑在此处添加您的投票:
更新3:
我已经可靠地获悉 VSCode团队已经接受了这个功能,所以我期待将来的版本包括它.
更新4:
感谢下面的@ f-boucheros评论,我已经能够让VS Code作为提交注释,rebase等的默认编辑器.我仍然希望看到是否可以将它用作diff工具.
更新5:
根据问题的接受答案,现在可以使用V1.0版本的代码.
我在运行build.cake文件时遇到一些问题,但我无法立即看到问题所在.有没有办法启用诊断详细程度,所以我可以获得有关正在发生的事情的更多信息,以及如何解决问题?
我正在开发一个有 4 名团队成员的项目,每个人都有不同的文件配置,我们已经在使用,但git update-index --assume-unchanged to/the/file新人没有注意到对配置文件使用更新索引,并意外地将文件推送到存储库,如下所示在:
application/config/database.php
Run Code Online (Sandbox Code Playgroud)
我们正在使用分支,当我们将文件拉到主服务器上时,它没有收到警告/其他信息。但是数据库配置文件已更改,每次我们尝试更改分支时,在更改分支之前始终需要签出以下文件。
我们是否可以通过任何方法忽略该文件,就好像有人更改了它一样?所以它不会提示我们在更改分支之前检查它。
先感谢您。
我的 git 存储库中有一个 img 文件夹。我想使用 .gitignore 排除文件夹中的图像。
我曾经cd <file path>输入该文件夹和mkdir .gitignore. 但是当我add使用 git 时,不会排除图像。我需要添加什么才能将它们排除在add?
有一个服务器正在运行并且上面有一个 git 实例。我希望每次用户执行 git push 到服务器时运行一个脚本。我希望我的脚本被执行,然后 git push 继续。任何解决方法?
我正在从 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) 我正在尝试使用以下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)
但我一直得到同样的错误:
我已确认生成的*.temp.nuspec文件确实包含正确的文件,并且文件存在于指定的位置,并且BasePath是正确的.
注意:我已经习惯-Verbosity Diagnostic生成传递给NuGet.exe的实际命令,并直接运行它也会导致相同的错误消息.因此,我认为这不是直接与Cake有关的问题,而是与NuGet.exe有关.
我正在尝试在我的 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 …
我正在学习 Gitflow 工作流程。以下是关于 Gitflow 工作流程的示例图。
我认为A、B、C、D的内容是相同的,对吧?
我认为A合并到C然后C合并到D是可以的,但是为什么需要C合并到B?你知道A和B是一样的!
图像