Articles of git

Git在Windows和文件属性

我注意到,当您在Windows环境中使用Git提交或签出文件时,文件属性不会被保留(例如隐藏或只读)。 如果我提交一个隐藏的文件,然后在另一台计算机上查看,则文件不再隐藏。 是否有可能使Git识别Windows文件属性? 谢谢。

Git状态忽略行结尾/相同的文件/窗口和Linux环境/ dropbox / mled

我怎么做 git状态 忽略行结束差异? 背景信息: 我随机使用Windows和Linux来处理这个项目。 该项目在Dropbox中。 我发现很多关于如何使git diff忽略行结尾。 由于我使用融合git diff打开每个文件的meld。 而融合说“相同的文件”。 那么我该如何避免呢? Git只能打开已更改文件的组合。 如果只有文件结尾是不同的,那么git状态不应该报告被更改的文件。 编辑:原因: 这是因为Windows上的这个设置 core.autocrlf true 所以我检查了Linux上的工作副本,并在Windows上设置core.autocrlf false。 知道如何让git状态忽略不同的新行,这将是很好的。

.bash_history不会在Git for Windows(git bash)中更新

我使用Git for Windows(版本1.7.8-preview20111206),即使我的HOME文件夹中有一个.bash_history文件,它也不会自动更新。 当我启动Git Bash时,我可以在历史命令中看到我手动添加到.bash_history文件,但不会自动更新。 我使用了shopt -s histappend命令来确保每次closuresshell时都保存历史logging,但不起作用。 如果我手动使用history -w命令,然后我的文件得到更新,但我想了解为什么shopt命令不工作,因为我理解它应该。 任何人都可以告诉我为什么会发生这种行为? 提前致谢

将进程标识设置为用户的IIS 7.5具有错误的USERPROFILE

首先,这是我在第三个类似的话题上的问题,现在还没有答案,也许只能接近它(见第一 , 第二 )。 我的web应用程序(IIS 7.5下的ASP.NET MVC3)运行git来访问一些github存储库。 将我的工作站升级到Windows SP1后,它停止工作。 原因是,一旦git开始,它实际上运行ssh.exe与github进行通信。 ssh.exe似乎挂起,所以所有的应用程序挂起。 该应用程序使用的应用程序池使用与我自己相同的进程标识。 但是使用ProcessHacker我可以看到下面的图片: 由于USERPROFILE指向/ system32 / config / systemprofile ssh.exe期望具有包含公钥/私钥的.ssh文件夹。 由于钥匙不在那里,它挂起。 但密钥通常在〜/ .ssh(在我的情况下是c:\ users \ alexander.beletsky.ssh)。 只要我复制密钥到/ system32 / config / systemprofile应用程序开始按预期工作。 我的问题是,为什么w3wp.exe认为它在/ system32 / config / systemprofile中的configuration文件? 有可能改变这一点吗? 预计应用程序池的行为还是我的机器问题? 等待任何线索! 编辑 Load Pool的Load User Profile属性设置为TRUE。

git gc / git gui:取消链接文件<内部包文件名称>失败

运行git版本1.9.4.msysgit.0 ,我几乎每次在命令行上运行git gc或者通过git gui提示我“压缩松散对象”时,都会收到上述错误信息: Counting objects: 1110956, done. Delta compression using up to 4 threads. Compressing objects: 100% (269562/269562), done. Writing objects: 100% (1110956/1110956), done. Total 1110956 (delta 636114), reused 1110956 (delta 636114) Unlink of file '.git/objects/pack/pack-207f1feb5376880778637c … 8371cea62.pack' failed. Should I try again? (y/n) n Checking connectivity: 1110956, done. 唯一的解决scheme似乎是每个locking的文件打n – 正如此线程所build议的: 简短的回答:点击'n'来打通所有这些,然后手动运行“git gc”。 […]

哈德森git命令是*令人难以置信的*慢

我已经安装了msysgit,我试图在哈德森内部使用它。 每当我在交互式shell中运行命令时,无论是git-bash还是命令提示符,命令都是即时的。 当我在哈德森运行他们,他们滞后了很长时间。 当我刚刚调用它时,运行/bin/git help花了63秒。 我从来没有等待足够长的时间来看到克隆开始输出(> 10分钟)。 哈德森邮件列表已经closures,所以我想我会在这里尝试…

如果我的回购是在Windows机器上的,我可以让git发送带有post-receive-email脚本的电子邮件吗?

我曾经看到过大量的例子,当一个repo收到一个新的push时发送邮件,但是他们似乎都是在Linux机器上的repo,这个可能与我在Windows机器上的repo有关吗?

Git从index.lock重命名为索引失败

使用GitHub Windows客户端,我做了一个同步来将远程更改提取到本地计算机,但是在完成同步之前,我的磁盘空间不足,同步失败。 现在我似乎有一堆本地的变化,实际上是从原点拉出的变化。 我试图运行git pull但得到: C:\Users\Tom\SourceLog [master +4 ~26 -0 !]> git pull Updating b3a86e1..5afd74f error: Your local changes to the following files would be overwritten by merge: SourceLog.Interface/IChangedFile.cs SourceLog.Interface/ILogEntry.cs … Please, commit your changes or stash them before you can merge. error: The following untracked working tree files would be overwritten by merge: Lib/MSBuildExtensionPack/4.0.6.0/Ionic.Zip.dll […]

CMD命令“Git Bash Here”

在Windows中,我可以通过打开右键菜单在当前目录中运行“Git Bash Here”。 我想将gitbashhere.bat放在默认path中,以便从标准cmd窗口轻松访问命令。 sh.exe –login -i命令仅在sh.exe的目录中打开git bash,而不是当前目录。 如何检查绑定到“Git Bash Here”的命令?

如何通过解决错误的path在窗户上通过SSH阻止GIT?

我有一个ssh服务器安装程序的Windows 2003框。 我有msysgit(git版本1.6.2)安装在本地和服务器上。 服务器有以下我的回购的绝对path: e:\vc\git\myrepo.git 当用户login时,他/她将被放在以下工作目录中: e:\vc\git\ 在我的开发机器上运行以下cmd时: git clone ssh://myuser@myip/myrepo.git testrepo 我得到以下错误: fatal: ''/myrepo.git'' does not appear to be a git repository 根据我的SSH日志,似乎git正在服务器上执行此cmd: 'cmd.exe /c git-upload-pack '/myrepo.git'' 在本地执行该命令(在服务器上)出于同样的原因失败。 我在想这个问题是与git前缀的path与“/”有关。 我该如何告诉git不要这样做? 这应该工作吗? 注意:git-upload-pack正在工作,因为我将\ gitinstallpath \ libexec \ git-core添加到path中。 显然这是一个错误,将来会修复,这是我的工作。