Articles of git

忽略.gitignore中的符号链接

可以告诉Git忽略符号链接吗? 我正在使用混合的Linux / Windows环境,正如您所知,符号链接在两者之间的处理方式非常不同。

使用SSH Keygen无法连接到Windows 10 GIT上的服务器

我在下面的教程。 https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys–2 它是在Windows 10 C:\Users\<user name>\.ssh上生成的文件 我正在使用GIT来生成文件。 ~/Desktop $ PermitRootLogin without-password bash: PermitRootLogin: command not found $ ssh a@b.com a@b.com's password: Permission denied, please try again. 我使用puttygen.exe生成了.ppk文件。 仍然无法连接到服务器。 通过做ssh -Tv a@b.com 它会给出下面的回应 OpenSSH_7.1p2, OpenSSL 1.0.2h 3 May 2016 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Connecting to a@b.com [XXX.XXX.XXX.XX] port 22. debug1: Connection established. debug1: identity […]

为什么git-upload-pack(git clone期间)挂起?

我已经读过其他几个'git挂在克隆'问题,但没有符合我的环境和细节。 我使用cygwin(msys git不是一个选项)内置的git,通过SSH克隆Linux主机上的repo。 git clone user@host:repo 我已经在其他平台上testing了相同的主机,并且它工作正常,但是在这台Windows机器上,克隆无限期地挂起。 我设置GIT_TRACE=1 ,看起来问题是这个命令: 'ssh' 'user@host' 'git-upload-pack '\''repo'\''' 我的SSH密钥设置正确: ssh user@host正常工作。 当我运行命令时,我得到了一堆输出,像这样结束: … 003dbbd3db63763922ad75bbeefa3811dce001576851 refs/tags/start 0000 然后它挂了20多分钟,这是我杀了它之前等待的最长时间。 服务器有Git 1.7.11.7和OpenSSH 5.9p1,而客户端有Git 1.7.9和OpenSSH 6.1p1。 这应该是git上传包输出的结束? 这是在Git或我的configuration错误?

在Windows上执行Git钩子

我在执行Windows上的Git挂钩时遇到了麻烦。 我有一个裸回购,在“钩子”文件夹我把下面的“更新”和“预推”文件,但PHP脚本永远不会被执行: "c:/Programs/PHP/php.exe" c:/Data/Scripts/git-pre-push.phpcli %1 任何想法,为什么PHP脚本不执行? 在Git控制台窗口中,当我尝试将某些内容推送到裸回购时,我看到以下内容: POST git-receive-pack (437 bytes) remote: error: hook declined to update refs/heads/master To https://myuser@mydomain/samplerepo ! [remote rejected] master -> master (hook declined) error: failed to push some refs to 'https://myuser@mydomain/samplerepo' …所以我知道“更新”以某种方式被执行。 当我删除该文件推送工作得很好。

更改Git用户名

我使用Git GNU bash,4.3.42(5) – 版本(x86_64-pc-msys)windows 8.1 pro。 我一开始就给它一个用户名,通过input命令:git config –global user.name“xyz”,但是当我到Github时,这个用户名已经被占用了,所以我试图把我的Git用户名改成和Github一样。 键入相同的命令,然后键入:git config –list但它不断显示旧的用户名,我甚至试图卸载它,然后重新input相同的命令,但它是同样的问题。 有人可能会告诉我如何解决它?

如何在Windows上升级到最新版本的Git? 仍然显示旧版本

我刚从Windows 1.7.9.mysysgit.0升级到Windows的Git 1.8.0.1。 我从Git站点下载了新版本,并通过普通的Git安装程序EXE进行安装。 也就是说,当我启动terminal窗口时,它仍然显示我正在运行git版本1.7.9.mysysgit.0。 当我从提示中input“git –version”时,同样的事情。 在Mac OSX上 ,我发现这篇文章与Git有类似的问题 ,这导致我相信它与一个错误的PATH有关,但是我仍然是非常新的(5个月自学),所以我如何把这个翻译成Windows, 这个问题出现在我开始一个新的Rails项目,并试图推到Git。 我加了遥控器: git remote add origin git@github.com:brianscottk/blog.git 然后: git push -u origin master 我收到以下错误信息: 致命的: https : //github.com refs not found:你在服务器上运行git update-server-info吗? 谷歌search错误导致我这篇文章 ,这促使我升级,在这里,我是。

capistrano问题

我在将应用程序部署到服务器时遇到问题。 我有msysgit,github和capistrano安装和工作。 我已经成功地将我的应用程序推送到github,并可以成功运行cap deploy:setup从我的本地机器安装到我的服务器上。 但.. 当我运行cap deploy:cold它要求我的密码连接到github回购,然后它再次要求它连接到我的服务器,但它给了我一个错误的权限被拒绝(公钥)和rools回来。 看起来这是我的密钥错误,但它怎么可以连接到我的服务器来执行cap deplo:setup ? 我的公钥在github和我的服务器都是一样的,这是正确的? 另外当运行cap deploy:setup它问我为我的用户服务器密码是否正确? 请帮忙,因为这已经推迟了我好几天了 这是错误的: $ cap deploy * executing deploy' * executing deploy:update' ** transaction: start * executing `deploy:update_code' executing locally: "git ls-remote g…@github.com:rmossuk/Macrotec.git master " Enter passphrase for key '/c/Users/Rick/.ssh/id_rsa': * executing "git clone -q g…@github.com:rmossuk/Macrotec.git /usr/local/lib/r uby/gems/1.9.1/gems/passenger-2.2.4/test/stub/rails_apps/Macrotec/releases/20090723213346 && cd /usr/local/lib/ruby/gems/1.9.1/gems/passenger-2.2.4/test/stub/ra ils_apps/Macrotec/releases/20090723213346 && […]

外部的git difftool不能在windows上工作

我为很多人苦苦挣扎,读了几乎所有的“git”,“diff”等题材,尝试了上百种不同的解决scheme,但都没有成功。 我试图设置总和外部difftool(梅尔德,p4merge)作为我的混帐工具,但混帐忽略这个选项。 这是我的git config –global 。 [alias] st = status co = checkout ci = commit [diff] tool = p4merge [difftool "p4merge"] cmd = p4merge.exe $LOCAL $REMOTE [difftool] prompt = false [merge] tool = p4merge [mergetool "p4merge"] cmd = p4merge.exe $BASE $LOCAL $REMOTE $MERGED [mergetool] prompt = false trustExitCode = false keepBackup = false Mergetool命令工作正常,但difftool被忽略,git始终始终是build-in […]

在Windows上修改Git提示符

我在Windows上使用Git,通过GitExtensions安装MSysGit(最新版),在安装过程中select了“不要修改我的Windows提示符”。 现在,我想能够修改默认提示(默认情况下只显示分支名称也显示了多less时间,以及从上次推送到origin (或特定的origin/master ,取决于)更轻松)。 所以说,而不是: me@myPC /c/myRepo (master) 我会看到以下me@myPC /c/myRepo (master) 5 | 10:20行: me@myPC /c/myRepo (master) 5 | 10:20 me@myPC /c/myRepo (master) 5 | 10:20 这意味着我最后10小时20分钟前,我已经做了5个地方提交。 在你提到之前,我知道有一些PowerShell的方法,但是我不想使用它。 我想我的标准git bash我们都知道和爱。 我发现了一些解决scheme,在.bashrc文件中修改PS1variables,但是(请原谅我可怜的Unix版本)他们似乎不工作,(例如接受这个问题的答案)。 所以你有它。 这可能吗?

特定于Windows的Gitconfiguration设置; 他们在哪里设置?

我已经阅读了Git文档,并且我的Gitconfiguration中的设置来自哪里? 但我仍然无法理解我的一些设置。 我在Windows 10上的Git 2.5.3。这是git config -l的输出: λ git config -l core.symlinks=false core.autocrlf=true color.diff=auto color.status=auto color.branch=auto color.interactive=true pack.packsizelimit=2g help.format=html http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt sendemail.smtpserver=/bin/msmtp.exe diff.astextplain.textconv=astextplain rebase.autosquash=true user.name=Ben Collins user.email=#redacted# alias.sm=submodule alias.br=branch alias.co=checkout alias.st=status alias.rebuild=!git rm –cached -r . && git reset –hard core.excludesfile=C:\Users\Benjamin\Documents\gitignore_global.txt core.editor=c:/Users/Benjamin/AppData/Local/atom/bin/atom.cmd core.attributesfile=C:\Users\Benjamin\.gitattributes push.default=simple merge.tool=p4merge mergetool.p4merge.cmd=p4merge.exe "$BASE" "$LOCAL" "$REMOTE" "$MERGED" mergetool.p4merge.path=C:/Program Files/Perforce/p4merge.exe gui.encoding=utf-8 diff.guitool=p4merge difftool.p4merge.path=C:/Program […]