Articles of git

.gitignore不了解我的文件夹通配符在Windows上

我在Windows上遇到一个奇怪的问题与.gitignore 。 我想让git忽略所有的.exe文件,除了Dependencies文件夹(和所有子文件夹)中的文件。 所以我有: .gitignore : *.exe !/Dependencies/**/*.exe 这不幸的是,不工作。 同时,这样做: *.exe !/Dependencies/folder/subfolder/*.exe 所以我想知道,我在搞点什么,或者这是一种错误? 我在Windows(Windows 7 x64)版本1.6.5.1-preview20091022上运行msysgit 在此先感谢您的任何input:)

有没有办法使用Windows身份validation(Active Directory)的Git服务器?

我find了有关如何在Windows服务器上安装Git的文章,并使用SSH(如CopSSH)进行身份validation。 我有点惊讶,因为我记得读一个不应该使用Windows机器共享的Git仓库(抱歉,不记得我在哪里读)。 我的问题是我可以设置Git使用Windows身份validation,而不是SSH? 这对我来说会比较容易pipe理。 由于机器在我的“业余时间”由我来pipe理,越容易越好。

git行结束了redux – Mac OS git与Windows用户的贡献

我在Mac OS X上进行开发。我有一位用CRLF行结尾提供代码的用户。 他目前不使用git。 我创build一个分支,然后切换我的工作树。 我将他的文件复制到工作树中。 当我尝试对文件fatal: CRLF would be replaced by LF in pcb-gcode.ulp. ,我收到fatal: CRLF would be replaced by LF in pcb-gcode.ulp.错误fatal: CRLF would be replaced by LF in pcb-gcode.ulp. 我已经通过无尽的post和尝试的build议(如.gitattributes和git重置),唯一的解决scheme似乎是使用sfk或类似的更改行结束时,我从他那里得到的文件。 有没有一种方法让git在升级和提交时将其CRLF行结尾更改为LF,如果将分支签出到我的工作树中,则使用LF? 看来,有一个选项,让git只是识别一个行结束作为行结束,并给我什么是适合我的操作系统,当我检查出来。 git config –global -l (excerpt) core.autocrlf=input core.safecrlf=true git config –local -l (nothing relevant) 我正在使用SourceTree,远程回购托pipe在Assembla上,以防万一。

使用git在windows中推送到code.google.com

相关问题: git和Git 不接受netrc – 如何在Windows上使用.netrc文件保存用户和密码 我正在尝试将更改推送到code.google.com git存储库。 我正在使用Git扩展。 我的HOMEvariables是在Windows和Git Bash中设置的。 C:\> echo %HOME% C:\Users\Username $ echo $HOME /c/Users/Username 我在%HOME%中添加了一个名为_netrc的文件 machine code.google.com login username@gmail.com password GOOGLEGENERATED 显然用户名被我的用户名所取代,GOOGLEGENERATED是谷歌生成的密码。 当试图推,我得到这个错误消息: C:\ Program Files \ Git \ bin \ git.exe push -u –recurse-submodules =检查“origin”master:master完成致命错误:远程错误:无效的用户名/密码。 您可能需要使用您生成的googlecode.com密码; 请参阅https://code.google.com/hosting/settings 有关的问题表明,一切都设置正确,但它仍然无法正常工作。 有任何想法吗?

Git diff在path下用下划线文件失败

我正在运行Windows 7,我有最新版本的git(2.7.2.windows.1)。 我以前使用Windows PowerShell作为我的git操作terminal,没有问题。 最近,我决定切换到Git Bash,但我有一个主要问题。 我的项目有一个目录(其中有许多子目录),其名称只是一个下划线。 每当我尝试在该目录中的文件上运行git diff ,出现以下错误: $ git diff _/css/templates/jquery.tag-editor.css fatal: Invalid object name '_C'. 据我所知,下划线是一个文件/目录名称中完全有效的字符,并且在该目录内的Tab完成工作正常,所以我知道terminal可以“看到”里面。 另外,项目的其他贡献者,都运行OSX,没有这个问题。 而当我运行一个简单的git diff ,而没有指定任何单个文件,它工作正常,并愉快地包括在下划线目录中的任何更改的文件的差异。 如果我进入下划线目录并从那里运行git diff ,那么它也可以工作,所以我传递给它的path不包括下划线。 究竟发生了什么事情,以防止我在这些文件上运行git diff ? 当我试图这样做时,错误信息中的“C”来自哪里? 更新 当我运行git checkout — _/css/templates/jquery.tag-editor.css放弃对该文件的更改时,这是我看到的错误: error: pathspec '_C:/Program Files/Git/css/templates/jquery.tag-editor.css' did not match any file(s) known to git. C:\Program Files\Git是我的Git安装目录。 所以显然,部分path被解释为指Git安装目录? 再次,这是什么原因造成的呢?

基准cp + git on linux vs Windows:为什么这样的区别?

我使用这个Python脚本创build了大量的文件,我主要用它来testingGit。 结果是非常惊人的,尤其是Windows和Linux之间的差异。 基本上我的脚本创build了12个目录,每个目录都有512个文件。 每个文件大约2到4 kB。 使用Git对象的版本库大约有12k个文件。 我做了基准testing: 时间把所有的文件git add .到git git add . 结帐前一个分支的时间 有时间在相同的SSD上复制存储库 时间将存储库复制到外部SATA硬盘(NTFS) 我在Windows 10和Linux上使用同一个存储库来完成这个任务: Operation Linux Windows Ratio ——— —– ——- —– 1. git add . 0.47s 21.7s x46 2. git checkout HEAD~1 0.35s 16.2s x46 3. git checkout . 0.40s 20.5s x50 4. cp -r ssd->ssd 0.35s 1m14s x211 5. […]