Articles of git

git在Windows上:致命的:协议错误:坏行字符:@ –

我在Windows上使用SourceTree + Git没有任何问题。 我能够从命令(terminal/ BASH)使用git命令。 我更喜欢用git推/拉等terminal。不幸的是,重新安装我的机器(服务器/ git是相同的)后,我得到这个痛苦的错误。 在新机器上,我安装了Git 1.9.5(Git-1.9.5-preview20141217.exe),并configuration为只使用BASH,并使用正确的SSH密钥文件进行plink。 我可以做git log我的仓库,但是git pull或者git push会给出这个错误: me@NEW-MACHINE /c/Workspace/project (master) $ git pull fatal: protocol error: bad line length character: @- ERROR: Problem parsing the command line arguments. 当然,我search了很多关于“致命的:协议错误:坏行长度”的文章。 但是,找不到任何线索。 有趣的是,在SourceTree上,我可以做成git pull或push 。 我只在BASHterminal得到这个错误。 请注意,SourceTree不使用embedded式的git。 以下是我的调查到目前为止: 我安装了旧版本的git(1.8.x),仍然出现错误。 移动.bashrc,但不好。 显然,SourceTree并不像SourceTree那样使用embedded式Git。 服务器在Github(企业,私人)。 我在使用相同的git存储库/服务器的Linux上使用任何git命令没有问题。 我的线索是从错误消息中的<newline>@-<newline> 。 这更像是一个Windows / BASH特定问题。 我不知道是什么原因导致“@ – ”。 […]

在Linux上部署的Rails项目中,CRLF行是否正常?

我有一个Git仓库(原来是CVS,SVN,现在是Git),它包含一个已经在Linux上部署了一段时间的Rails项目。 一切似乎运行良好。 现在我已经转换为git,我发现存储库中的许多文件都包含CRLF行结束符 。 我希望它能够保持一致( LF ),但不会损失具有CRLF行尾的每个文件的编辑历史logging。 你能想到我不能离开这些文件的原因吗? 我似乎记得shell脚本或cron文件存在问题,或者对CRLF没有响应。 另外,我知道所有关于Git选项core.autocrlf和core.safecrlf ,但是有没有办法让它将所有文本文件从CRLF转换为LF结帐(对于Linux端) …即一个core.autolf选项或类似的东西?

Git拉拒绝权限的Linux?

当我运行git pull origin test ,我得到了 fatal: unable to connect to cache daemon: Permission denied 然后提示inputgithub用户名和密码。 该目录位于我的homefolder( ~/www/software )下。 有任何想法吗? 如果我使用sudo ,它可以工作,但我不觉得我应该在我自己的home文件夹中使用su! 这是ls -l的结果: drwxrwxrwx 48 root root 53248 Jan 3 12:10 application -rw-rw-r– 1 andrewr andrewr 1458793 Jan 2 10:09 a.txt -rw-rw-r– 1 andrewr andrewr 186 Jan 2 10:09 Desktop.ini -rw-rw-r– 1 andrewr andrewr 1406 […]

为什么.gitignore.txt文件在windows10中显示它的名字?

最近我用webapp生成器搭build了一个项目。 它创build了两个文件.gitignore和.gitattributes 。 两者都显示Text Documenttypes的Text Document扩展但是当我按F12编辑任何一个人的名字,那么它有空的名字。 这里是快照: 我的问题是为什么窗口不显示为.gitignore的名称?

Cygwin在运行Git push时导致longjmp

我试图从我的Windows 7,64位机器上的命令行运行git。 它大部分工作正常。 我尝试将我的本地更改推送到云中的私有存储库。 我试图运行的命令是git push origin master 我使用Cygwin 6.1,并导致以下错误。 大概是关于我在64位机器上运行的事实 0 [main] git-remote-http 6168 fork: child -1 – died waiting for longjmp before initialization, retry 10, exit code 0xC0000135, errno 11 error: cannot fork() for send-pack: Resource temporarily unavailable 我遵循这里的build议来更新我的rebaseall文件并重新命名rebase命令。 但它似乎并没有帮助。 任何人都可以重现这个问题或find解决办法吗? 先谢谢您的帮助。

为什么我的git没有自动更新Expect脚本?

我想创build一个脚本来更新我所有的GitHub仓库。 我只需要input我的用户名和密码,脚本将通过一个存储库列表,调用git push并通过补充的Expect脚本提供必要的信息。 这是我的bash脚本: #! /bin/bash echo "Updating GitHub projects from project_list.txt." echo read -p "GitHub username: " un read -p "GitHub password: " -s pw echo echo while read line do eval dir=$line echo "Updating:" $dir"." cd $dir $SF/githubexpect $un $pw echo echo done < $SF/project_list.txt $SF是一个全局环境variables,包含我的脚本文件夹的绝对path。 这是githubexpect脚本: #! /usr/bin/expect set un [lindex $argv […]

git post-receive hook没有运行bundle install

我无法运行post-receive hook,如下所示: #!/bin/sh unset $(git rev-parse –local-env-vars) cd ~/commodity git pull origin master bundle install bundle exec rake assets:precompile thin restart 我推从本地到远程,我得到这个错误: Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 319 bytes, done. Total 3 (delta 2), reused 0 (delta 0) remote: From […]

无法硬链接gitconfig文件

我正在尝试创build一个git存储库来存储我所有的dotfiles和configuration文件。 我的想法是简单地创build我关心的所有文件的硬链接,并将这些链接存储在他们自己的目录中,我可以把它们变成一个存储库。 我用〜/ .gitconfig文件打了一些麻烦。 似乎每当我运行'git config'命令时,我创build的链接不再指向正确的位置,例如存储库中的文件不再正确更新。 这里是一个使用shell和交互式ruby来确定文件链接状态的例子。 # Create the link $ ln .gitconfig .conf_files/gitconfig # Create the link # The files are in fact linked [1] pry(main)> File.identical?('.gitconfig', '.conf_files/gitconfig') => true # Update the gitconfig file by running a 'git config' command $ git config –global alias.last 'log -1 HEAD' # The files are […]

检查目录是否是git存储库(不必cd进去)

我可以使用什么shell命令,使用完整的目录path,确定给定的目录是否是git存储库? 具体来说,我希望能够做到这一点,而不必在目录中,而不必在CD中。 我也希望能够通过一个返回简单的“true”或者“false”的命令来做到这一点(就像在工作树里面进行的rev-parse一样),但这不是必须的。

Git不会忽略文件权限更改

即使filemode = false Git也不会忽略文件权限的更改。 在我的全局文件文件模式是closures的,但每当我更改我的项目中的任何文件夹的权限它正在跟踪和显示在差异。 我不想跟踪我的权限更改。 设置在我的~/.gitconfig [core] editor = vim autocrlf = false filemode = false git版本2.7.4