我有一个带有ssh服务器设置的Windows 2003机器.我在本地和服务器上安装了msysgit(git版本1.6.2).
服务器具有以下我的存储库的绝对路径:
e:\vc\git\myrepo.git
Run Code Online (Sandbox Code Playgroud)
当用户登录时,他/她将被放入以下工作目录:
e:\vc\git\
Run Code Online (Sandbox Code Playgroud)
在我的开发机器上运行以下cmd时:
git clone ssh://myuser@myip/myrepo.git testrepo
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
fatal: ''/myrepo.git'' does not appear to be a git repository
Run Code Online (Sandbox Code Playgroud)
根据我的ssh日志,似乎git正在服务器上执行此cmd:
'cmd.exe /c git-upload-pack '/myrepo.git''
Run Code Online (Sandbox Code Playgroud)
在本地(在服务器上)执行该命令失败的原因相同.我认为这个问题与git前缀为'/'的路径有关.我怎么告诉git不要这样做?这应该有用吗?
注意:git-upload-pack正在运行,因为我在路径中添加了\ gitinstallpath\libexec\git-core.显然这是一个错误,将来会修复,这是我的工作.
我知道这个问题可能是屈膝的.但我只是不想对我的工作系统(Win7)造成任何抨击.
如何升级软件?我只是替换现有版本还是我需要删除我现有的版本然后安装新版本?我试图在网上找到一些信息,但没有找到任何有关升级的信息.
虽然绊倒了铬代码文档,但我发现了这篇文章:
http://code.google.com/p/chromium/wiki/UsingGit#Windows
如果你使用的是msysgit,那你就是在寻找麻烦.使用msysgit(包括TortoiseGit)和cygwin的git版本是导致存储库损坏的一种途径,因此坚持使用cygwin的版本会更安全.所以如果你的PATH中仍然有msysgit,那么你就是自己的.
这真的发生了吗?腐败的原因是什么?
这基本上是发生的事情:
> git rebase -i HEAD~3
Successfully rebased and updated refs/heads/master.
Run Code Online (Sandbox Code Playgroud)
Pops打开我的文本编辑器,然后在我甚至有机会做任何事情之前立即"完成"rebase.有谁知道这可能导致什么?
我在Windows 7上使用msysgit:git version 1.7.3.1.msysgit.0
我确信这可以做到,我只是不确定正确的方法.
我的方案是将USB驱动器,本地硬盘驱动器和网络驱动器都连接到我的PC.本地硬盘驱动器将包含本地工作的本地活动仓库.网络驱动器(具有长UNC路径!)将包含充当上游参考副本的主裸存储库(办公室中的2个或3个协作者),而USB驱动器充当我的移动拷贝到一些外部PC的sneakernet(我的其他合作者有自己的驱动器,这可能会影响答案).(这是在windows msysgit上).
正是关注USB驱动器的设置,并确保我将工作流指向正确的方向(请参阅使用-git-on-usb-stick-for-travel-code.
我从http://code.google.com/p/msysgit/downloads/list安装了msysgit:Git-1.7.8-preview20111206.exe (编辑:我还安装了msysGit-fullinstall-1.7.8-preview20111206.exe ,方便地安装到不同的目录,我看到该实例的相同问题).
我遇到了ssh-agent的问题,ssh-add总是报告:"无法打开与身份验证代理的连接."
不幸的是,ssh-add没有给我任何关于它遇到的错误的进一步细节.当它尝试连接到套接字时感觉它超时,但它实际上并不承认这是问题,并且ssh-agent的行为就像它正常运行一样.考虑到这种组合让我怀疑是一个权限问题,但我不知道在哪里我会调查那种问题(我没有看到任何我认为在Windows事件日志中有意义的东西).
此错误消息让我感到困惑:如果我的环境变量设置不正确,我有理由相信我会收到此错误消息,但我有理由相信我已正确设置了环境变量.我有理由相信,如果我的环境变量引用了一个没有运行的ssh-agent实例,我可能会收到此错误消息,但我只有一个ssh-agent实例运行,它与我在环境变量中看到的相匹配.这是可重复的.我已经开始(并最终关闭)几十个的ssh-agent的情况下,采用的技术类似ssh-agent > ~/.ssh/environment; . ~/.ssh/environment,并且eval `ssh-agent`和ssh-agent bash等等...我不能让MSYS SSH-添加连接到MSYS的ssh-agent.
bash-3.1$ ps | grep ssh-agent
10304 1 10304 10304 ? 500 09:01:24 /bin/ssh-agent
bash-3.1$ bash -c 'set | grep SSH_A'
BASH_EXECUTION_STRING='set | grep SSH_A'
SSH_AGENT_PID=10304
SSH_AUTH_SOCK=/tmp/ssh-oAFwa11048/agent.11048
bash-3.1$ time ssh-add -L
Could not open a connection to your authentication agent.
real 0m10.730s
user 0m0.000s
sys 0m0.015s
bash-3.1$ wc /tmp/ssh-oAFwa11048/agent.11048
0 3 52 /tmp/ssh-oAFwa11048/agent.11048
bash-3.1$ cat /tmp/ssh-oAFwa11048/agent.11048; echo
!<socket >59261 060A4541-9831B739-519220DE-57936738 …Run Code Online (Sandbox Code Playgroud) 我在Windows上玩GIT.已安装的msysgit(最新版本)似乎一切都很好看.我在我的c:/ repo文件夹上创建了裸存储库,我将其克隆到c:/ repoclone /并使用以下命令:
git clone git://localhost/repo
Run Code Online (Sandbox Code Playgroud)
要启用git协议,我使用以下命令运行另一个git-bash窗口.
git daemon --export-all --enable=receive-pack
Run Code Online (Sandbox Code Playgroud)
克隆它正确.基本上我想要c:/ repoclone/repo将是我的工作目录和更改我想在c:/ repo的裸存储库中推送.拉动似乎对我来说很好,但每当试图推送数据时,似乎保持处理没有任何错误.
一旦手动破坏守护进程命令,我得到了以下错误.
fatal: sha1 file '<stdout>' write error: Invalid argument
fatal: read error: Invalid argument
error: failed to push some refs to 'git://localhost/repo'
Run Code Online (Sandbox Code Playgroud)
任何的想法.
这里出了点问题。请允许我提供背景。
今天,我尝试推送到我们公司的默认裸机msysgit Windows服务器,并在SO中到处都出现关于推送到非裸机的可怕错误消息。我以为该消息很奇怪,因为我的服务器本来应该是光秃秃的。昨天,一切正常。
然后我注意到core.bare,以某种方式将其设置为false!这是一个回购协议--bare,其中从未包含“ .git”文件夹。然后我去检查,那里是一个.git文件夹,这让我感到不知所措!我问唯一可以在那做某事的人,当然,他没有。
编辑:我只是注意到它只发生在master分支和服务器的.git似乎是在10月1日创建的,这可能是正确的,因为我不master经常这样做。
该文件夹有3gb,光秃秃的文件夹(在.gitghostly 旁边有所有git结构)有6gb。虽然我的本地.git有16 GB,所以我不确定那里发生了什么……甚至更多,我无法检查git log或git reflog。设置为true或false都会得到相同的错误fatal: bad default revision 'HEAD'。现在我认为已经是时候考虑如何恢复回购了。。。
但是在经历所有恢复教条之前,我想知道:
找不到类似的东西,我担心没有。
我在一个windowXP 32位环境中遇到msysgit的困难我真的很感激一些帮助.实际上,我正在使用SmartGit并喜欢这个程序.但是它无法同时运行Save Stash和Clean Up.我认为问题出在SmartGit上,我向开发人员寻求帮助.然而,事实证明与msysgit的问题.
我使用的SmartGit使用的是msysgit 1.8.1.2 -preview20130201.我还在一个单独的目录中安装了Git-1.8.3-preview20130601.无论SmartGit使用哪两个版本,问题仍然存在.
SmartGit在尝试保存存储时给出的消息是:
0 [main] us 0 open_stackdumpfile: Dumping stack trace to us.stackdump
0 [main] sh.exe" 8776 sync_with_child: child 936(0x18C) died before initia
lization with status code 0xC0000005
85 [main] sh.exe" 8776 sync_with_child: *** child state waiting for longjmp
C:\Program Files\SmartGitHg 4.5\git/libexec/git-core\git-stash: fork: Resource t
emporarily unavailable
Run Code Online (Sandbox Code Playgroud)
清理生成以下消息:
Clean Up: failed to run repack
0 [main] us 0 open_stackdumpfile: Dumping stack trace to us.stackdump
0 [main] sh.exe" 7236 sync_with_child: child 1236(0x988) died before
initialization with …Run Code Online (Sandbox Code Playgroud) 我安装了新版本的MSysGit,现在我无法直接从命令行运行*.bat文件("称为MINGW64").
我尝试搜索它,但我只看到需要先运行cmd的选项.
从git控制台出来:如何执行批处理文件然后返回到git控制台?
cmd "/C clean.bat"
有没有选择只运行clean.bat?
非常感谢你
我通过更新所有库来解决这个问题......也许是Cygwin?我不确定,但更新所有软件,它的工作原理.