Articles of git

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

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

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”。 […]

什么是configurationQt Creator使用Git的正确方法?

我正尝试使用Git for Windows和QT Creator 2.8一起使用,并且失败了。 我在bitbucket上创build了一个仓库,遵循bitbucket 101教程,当我使用Git Bash,甚至Git GUI时,一切都运行平稳。 PATHvariables设置正确,一切工作之外的Qt。 但是,当试图configurationQt Creator时,我无法访问远程存储库。 给出的错误是: 16:25在C:\ Users(…)中执行:C:\ Program Files(x86)\ Git \ cmd \ git.exe拉命令'C:\ Program Files(x86)\ Git \ cmd \ git。 exe“在超时限制(60000毫秒)内没有响应。 几乎所有我发现告诉我configurationpath,这应该会导致一切运行正常,但我的path设置正确(我可以键入ssh从Windows命令提示符,它的工作原理)。 Qt Creator文档( http://qt-project.org/doc/qtcreator-2.8/creator-version-control.html )告诉我应该 “select工具>选项>版本控制> Git。select环境variables和设置”HOME“环境variablescheckbox。 set "HOME"(…)框被选中,但是没有“Environment Variables”框。 SSH提示命令设置为C:\Program Files (x86)\Git\bin\ssh.exe ,但我已经尝试将其设置为\git\bin和git\cmd上的几乎每个程序都没有成功。 我在这里find了答案,告诉我使用某些版本的win-ssh-askpass或win-ssh-agent,但是这些要么需要Cygwin,要么来自可疑的来源。

Git-Windows-git-pull不能在没有工作树的情况下使用

我面临一个与Windows上的Git相关的问题,我无法从git上的回购拉动更改。 能够添加,提交和推送我的更改,但不能拉。 它给了我一个错误:致命的:C:** \ Git / libexec / git-core / git-pull不能在没有工作树的情况下使用。 在search这个错误时,我得到了一些链接,要求删除工作树或工作目录环境variables。 这个链接似乎更多地解释了git是如何工作的,而是引用了如何解决它,而没有一个看起来像windows特有的。 所以我张贴这个问题 我不是一个裸仓库,这里是gitconfiguration文件的内容: [core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true hideDotFiles = dotGitOnly [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = https://username@github.com/Project/projectname.git [branch "master"] remote = origin merge = refs/heads/master 第一次在Windows上使用GIT是使用它的mysqit。 我是否需要设置其他参数或特定于Windows的某些环境variables,就像在Ubuntu上使用git一样,也没有特别的步骤。 […]

让git“服务器”在Windows上工作的问题

我跟着Tim的文章 (在这个问题 的答案中提到过),但是 – 像许多其他人一样,在最后尝试做testing克隆时,我被卡住了。 我得到fatal: the remote end hung up unexpectedly即使我的$ HOMEpath似乎是正确fatal: the remote end hung up unexpectedly错误。 任何人有任何指向我可以开始debugging的地方? 我的git和linux-fu是严格限制的… 我知道这个问题的答案 ,但它不适用于我的情况,我没有得到任何有关path的消息。

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”的命令?