草庐IT

Git撤销本地commit

全部标签

windows - 使用干净的过滤器和 sed 在 git add 上更新文件

我的一些项目文件的顶部有一个小标题,我想确保每次对它们进行更改时都更新到当前年份。我在git中使用clean过滤器时遇到问题并抛出错误:首先,我的master分支上有一个名为testClass.cs的文件://*********************//Fileactive2011-2014//*********************然后我对文件做了一个小改动://*********************//Fileactive2011-2014//*********************//Firstcommit,wahoo!然后我运行gitaddtestClass.cs为下

java - 为什么 Git Bash 没有使用 PATH 环境变量中定义的正确 Java 路径?

在GitBash的一个实例中,输入java-version给我:错误:无法打开“C:\ProgramFiles(x86)\Java\jre7\lib\i386\jvm.cfg”然而,我的实际Java路径在D:\ProgramFiles\Java\jdk1.8.0_45\bin中。如果我输入echo$PATH或env|,这会显示在我的%PATH%变量中。grep路径。GitBash从哪里获取这个不存在的Java路径?附言除此之外,在命令提示符中运行java-version可以得到正确的输出:javaversion"1.8.0_45"Java(TM)SERuntimeEnvironment

windows - Windows 命令提示符中不显示 Git 颜色

我假设这是因为我的配置文件中的颜色设置,但我尝试更改它无济于事。也许我做得不对?请注意,GitBash将分支颜色显示为绿色,但在窗口cl上它根本没有显示!$gitbranch*add_bower* 最佳答案 cmd中的git应该可以正常工作。在放弃之前,我会检查你的gitconfiglocal和gitconfigglobal。我要做的第一件事是gitbranch--color或gitdiff--color您还可以使用-coptiongit-ccolor.ui=alwaysstatus如果你看到颜色那么可能发生的是你的本地gitcon

windows - Git diff 在路径中带有下划线的文件上失败

我运行的是Windows7,并且我有最新版本的git(2.7.2.windows.1)。我以前使用WindowsPowerShell作为git操作的终端,没有任何问题。最近,我决定切换到GitBash,但我遇到了一个主要问题。我的项目有一个目录(其中有许多子目录),其名称只是一个下划线。每当我尝试对该目录中的文件运行gitdiff时,我都会收到以下错误:$gitdiff_/css/templates/jquery.tag-editor.css致命:无效的对象名称“_C”。据我所知,下划线是文件/目录名称中完全有效的字符,制表符完成在该目录中工作正常,所以我知道终端可以“看到”其中。此外

windows - 为什么 PS1 中的换行符会在 Git for Windows bash 中引发语法错误?

这个问题在这里已经有了答案:PS1commandsubstitutionfailswhencontainingnewlinesonmsysbash(3个答案)关闭6年前。我正在尝试在GitforWindows中设置我的用户提示bash提示。这是一个(非常简单的)有效提示:#\@Printsthetime:11:14AM#\wPrintsthefullcwdpath#$(__git_ps1...)PrintsthecurrentgitbranchPS1='\n[\@]\w$(__git_ps1"(%s)")\$'当我在混合中添加第二个换行符时,我收到以下错误:bash:commandsu

windows - 如何检查当前驱动器是否在本地磁盘(cmd)上?

要获取当前批处理所在的驱动器很容易使用setbatchdrive=%~d0但是如何检查%batchdrive%是否在本地驱动器上而不是在(映射的)网络共享上?正在检查%SYSTEMDRIVE%或固定列表“C:”“D:”...不可靠。 最佳答案 要检查驱动器(%~d0)是否是本地驱动器,您可以使用wmic查询:wmicLogicalDiskwhere(DeviceID="%~d0"ANDDriveType=3)getDescription,DeviceID,DriveType假设%~d0扩展到本地驱动器C:,输出如下:Descript

windows - 当这很容易规避时,powershell 拒绝加载任何本地 ps1 脚本的目的是什么?

背景:我想使用powershell脚本来自动执行工作中的一些任务。我不是管理员,无法运行提升的powershell进程。我倾向于使用批处理脚本通过命令行实用程序以编程方式执行某些任务,但随着我的能力的提高,它已经到了很明显powershell将是更适合该任务的工具的地步。我试用了即时窗口,并编写了一个基本脚本,看看是否可以正常工作。一旦我掌握了一些测试命令,我就将它们保存到一个文件中。Write-Host"Let'sdothis"[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")[Syste

node.js - 有没有办法在不从本地驱动器打开每个项目的情况下删除所有 node_module?

我有多个使用node_modules的项目,我一个月都没有碰过。如果我只能删除node_module可以节省我的5到8GB存储空间。我找到了CommandlinetooltodeletefolderwithaspecifiednamerecursivelyinWindows但这显示删除特定文件夹中的文件,如D:\Project\Doing\prject1\D:\Project\Complete\Project1\FOR/d/r.%dIN(project1)DO@IFEXIST"%d"rd/s/q"%d"Butidon'twanttosearcheverydirectorytolookf

windows - 如何使用 Windows 符号链接(symbolic link)正确地 git clone 指向子模块中的文件夹

经过反复试验,我注意到可以提交使用mklink/DFoo..\..\Bar\Baz\Foo创建的链接(指向同一存储库中的另一个文件)即使在macOS上也可以毫无问题地克隆。不幸的是,当这个特定的链接指向一个子模块时,Windows在克隆时表现得很奇怪。原因很可能是存储在repo中的链接在克隆子模块之前被pull出。由于链接在这个特定时间指向任何地方,因此它们已损坏,并且即使在克隆子模块后仍将保持损坏状态。一种解决方法是del特定链接和gitcheckout--*以将其恢复到工作状态。但是我想避免手动执行此操作,我想知道是否还有其他方法。像强制子模块在repo本身之前被pull出之类的东

windows - 有没有办法使用 PowerShell 检查本地服务器上任意安全主体的管理权限?

网络上的许多示例显示了使用以下方法检查当前用户是否具有管理权限的方法[Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()在特定服务器上运行命令时,是否有类似的方法来检查不是“当前”身份,而是检查任何(本地或域,例如,从Get-ACLcmdlet检索)。我检查了https://learn.microsoft.com/en-us/dotnet/api/system.security.principal.windowsidentity.-ctor?view=netfram