msysgit如何使用Notepad ++(或除vim之外的其他编辑器)? 我尝试了以下所有的无济于事: git config –global core.editor C:\Program Files\Notepad++\notepad++.exe git config –global core.editor "C:\Program Files\Notepad++\notepad++.exe" git config –global core.editor C:/Program Files/Notepad++/notepad++.exe git config –global core.editor C:\\Program Files\\Notepad++\\notepad++.exe
我写了一个Git post-commit钩子,它工作正常。 不过,我想添加这个钩子,以适用于我正在工作的所有当前(和未来)的git仓库。 我试图把钩子添加到我的~/.git/hooks/而不是在项目目录的钩子目录中,但是这似乎不起作用。 有没有什么办法可以创build全局的Git钩子,这些钩子将应用于我的系统上的所有仓库(而不必将其复制到每个项目目录中)? 如果不是的话,最好的解决scheme是什么 – 可能是git-init模板?
我想强制git在Windows下使用LF而不是CR+LF签出文件。 我检查了两个configuration选项,但我无法find正确的设置组合。 我希望它将所有文件转换为LF并保持文件上的LF 。 备注:我使用了autocrlf = input但是这只是在你提交它们的时候修复了这些文件。 我想迫使它使用LF 。 也许我不是很清楚:存储库已经使用LF但使用msysgit检出的文件正在使用CR+LF ,我想迫使msysgit使用LF : 强制Unix行结束 。 >git config –list | grep crlf core.autocrlf=input
我正在尝试自定义git log的格式。 我希望所有提交显示在一行中。 每行只应该显示提交消息的第一行。 我发现 git log –pretty=short应该可以做到这一点,但是在我的电脑上,它显示了完整的日志作为git log (除时间戳之外)。 此外,我试图使用手册页中定义的占位符 。 虽然,我找不到缩短日志消息的命令。 我试过这一行git log –pretty=format:'%h : %s'它在一行中显示短的哈希%h和完整的消息%s 。 我在Vista上使用git version 1.7.3.1.msysgit.0 。 也许这跟我写我的提交信息的方式有关。 这里是一个例子: Added some functionality. + Added print function in Foo class. + Added conversion from foo to baz. 所以,给出的例子我只想输出Added some functionality. 由短头散列前缀。
我有一个本地分支跟踪远程/主分支。 运行git-pull和git-log ,日志将显示远程跟踪分支以及当前分支的所有提交。 但是,由于对远程分支进行了太多的更改,我只需要查看对当前本地分支的提交。 什么是Git命令用来只显示提交特定的分支? 笔记: configuration信息: [branch "my-branch"] remote = origin merge = refs/heads/master
我藏了我的变化。 现在我想只从存储中取出一些文件。 我怎样才能做到这一点?
我在git的master分支中创build了一个名为newbranch的新分支。 现在我已经做了一些工作,想把newbranch合并到master newbranch , 不过,我已经对newbranch做了一些额外的修改,我想把newbranch合并到最后一次提交的第四newbranch 。 我用cherry-pick但它显示消息使用正确的选项: git checkout master git cherry-pick ^^^^HEAD newbranch 我可以用git merge来代替吗? git merge newbranch <commitid>
我有一个只用于保存在几个项目中使用的graphics和声音文件的git仓库。 他们都在一个目录没有子目录。 现在我刚刚创build了一个脚本,将这些资源从另一个结构化的目录中复制过来,并具有几个子目录级别。 现在我只希望(源)分层文件结构被git跟踪,(目标)平面目录(所有文件在一堆)应该被忽略。 我已经将目标目录添加到.gitignore,但是git仍在跟踪其中的更改。 我想如果我提交删除目标目录中的旧文件,git可能会停止跟踪新内容(由脚本复制),但它不会。 如何让git忘记目标目录?
git pull origin master和git pull origin/master什么区别?
有没有办法使用像git ls-files这样的命令只显示未跟踪的文件? 我问的原因是因为我使用以下命令来处理所有删除的文件: git ls-files -d | xargs git rm 我想为未跟踪的文件类似的东西: git some-command –some-options | xargs git add 我能find-o选项来git ls-files ,但这不是我想要的,因为它也显示被忽略的文件。 我也能够拿出以下冗长难看的命令: git status –porcelain | grep '^??' | cut -c4- | xargs git add 似乎有一个更好的命令,我可以在这里使用。 如果没有,我该如何创build自定义的git命令?