问题是Egit/Eclipse在处理大型Java项目(~2,000k文件)时非常慢.非常慢意味着Windows 7 /四核/ SSD设置:
对于生产环境而言,这次是不可接受的.我不认为我做错了什么,因为测试一个全新项目的所有内容会导致"真实世界"的表现.
这通常吗?
你在.emacs文件中添加了什么以在emacs中使用msysgit bash?
我刚修改了msysgit的cygwin指令,用msysgit替换cygwin.
我唯一不能做的是在bash中运行ssh或vim ...
目录完成与开头前面的Windows样式驱动器名称一起使用.
我们的一位开发人员一直在使用他的Git存储库.他拉,然后"git status"显示了一个完整的未跟踪文件列表(也就是说,Git认为它们是新的)实际上来自他的最后一次拉动.您实际上可以通过他的git日志返回并指定添加它们的特定提交,这是他的历史记录.但是,如果您转到其中一个现在未跟踪的文件并在其上执行git日志,则根本没有历史记录.
我绝对神秘莫测.小组中的每个人,包括我,都是Git的新手,所以我不能排除他可能在某处犯错,但似乎不太可能.这就像他的存储库不断变得腐败.
他正在使用msysgit 1.7.6和Tortoise Git 1.7.3.我们和myEclipse一起使用了eGit并且反复崩溃所以早期的问题都归咎于此.现在,我认为没有人再使用它,所以我觉得我不能再责怪eGit了.
我需要Stack Overflow的Git大师的帮助!可能是什么导致了这个?有什么情况可以正常吗?
每个请求,这里是被损坏的存储库的.git/config文件:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = G:\\DotcomB
puttykeyfile =
[branch "master"]
remote = origin
merge = refs/heads/master
[user]
name = jsmith
email = JoeSmith@somewhere.com
Run Code Online (Sandbox Code Playgroud) 我无法为我的生活似乎让我的Jenkins CI与Github合作.
我在克隆命令上失败了,但这是由于密钥,因此我以服务帐户登录(用户Jenkins作为Windows服务运行)并运行克隆命令.一切都很好.
但是,当我想运行获取以获取最新信息时,它将无法完成.它只是坐在那里.我试过通过Jenkins的Git插件,也通过Windows命令行脚本.都没有工作.但是,如果我打开命令提示符并输入命令,它就可以了!
那么如何通过Jenkins让它工作呢?
我运行这个脚本:
set
"C:\Program Files (x86)\Git\bin\git.exe" fetch -t ssh://git@github.com/OrgName/MyRepo.git +refs/heads/*:refs/remotes/origin/*
exit 0
Run Code Online (Sandbox Code Playgroud)
它坚持使用fetch命令,永不退出.
有人有什么建议吗?
我的一位同事最近注意到正常git log命令与以下别名之间存在差异:
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
Run Code Online (Sandbox Code Playgroud)
经过一番挖掘后,我们发现它可能与cygwin bash有关.
以下是我们的发现:
git log --graph
所有提交都可见
git log --oneline
一些承诺失踪......好吧!让我们通过将输出重定向到文本文件来准备错误报告:
git log --oneline > test.txt
唉,所有提交都在test.txt?!?让我们通过拆分别名来进一步调查.删除颜色代码:
git log --graph --pretty=format:'%h - %d %s (%cr) <%an>'
一些提交缺失.所以它必须是变量之一......
[...后来有些frobnications ...]
git log --graph --pretty=format:'%h - %d %s (%cr)'
所有提交都可见
git log --graph --pretty=format:'%h - %d %s <%an>'
所有提交都可见
在某些变量组合之后似乎会破裂.在这种情况下(%cr) <%an>
我也在linux上尝试了相同的存储库,在那里,它按预期工作(即所有提交都显示在日志中).
我们想知道为什么会这样.
安装了msysGit,编写代码来启动ssh-agent .profile,一切正常.
安装了cygwin,没有Git,只需要ssh和cURL.
当Git bash打开时,SSH代理不再启动.
我可以启动一个新的ssh-agent流程实例,我ps在Git bash中运行时看到它,但在尝试使用时ssh-add,我收到此错误:
Could not open a connection to your authentication agent.
使用Cygwin,大量的.profile和.bashrc文件的创建它的安装文件夹(C:\ cygwin的).不确定这是不是问题.
我该怎么办呢?
我使用命令:
git config --global alias.st status
Run Code Online (Sandbox Code Playgroud)
按照帖子的建议添加我的第一个别名- 如何在git中别名命令?
然后,我发现它被添加到配置文件中:
C:\ Users \ damodar.bashyal \ .gitconfig
因此,我直接在配置文件上添加了许多别名,直到今天我安装MYOB软件后必须重新启动计算机后,所有别名才能正常运行。
当我尝试使用别名时,没有任何作用。因此,我使用上述命令添加了另一个别名,但是文件没有更新,但是新的别名工作正常。
因此,经过一段时间的努力后,在[ git config --global写入哪里?]查找配置文件:
git config --global --edit
Run Code Online (Sandbox Code Playgroud)
令我惊讶的是,它显示了不同的位置,并添加了新的git别名。
.gitconfig(~) - VIM
[gui]
recentrepo = C:/_projects/example.com/trunk/bitbucket
[user]
name = damu
[alias]
st = status
Run Code Online (Sandbox Code Playgroud)
有没有办法将路径更改回以前的.gitconfig文件?
我正在使用Windows 7和msysgit。
c:\>echo %HOME%
%HOME%
c:\>set HOME
HOMEDRIVE=U:
HOMEPATH=\
HOMESHARE=\\agsbs\UserShares\Damodar.Bashyal
c:\>echo %HOME%
%HOME%
Run Code Online (Sandbox Code Playgroud)
更新: 跟随这篇文章[ 在Egit(Eclipse)中更改用户位置(家庭变量) ]来设置缺少的HOME环境变量,现在我得到了:
c:\>set HOME
HOME=C:\Users\damodar.bashyal
HOMEDRIVE=U:
HOMEPATH=\
HOMESHARE=\\agsbs\UserShares\Damodar.Bashyal
Run Code Online (Sandbox Code Playgroud)
那也解决了我的问题。好极了!!!
我有一个现有的裸Git存储库,它是从CVS导入我们的源代码和历史记录而创建的.我做了一面镜子,使用:
git clone --mirror git://aserver.adomain.com/myrepo
Run Code Online (Sandbox Code Playgroud)
然后,我想将所有分支和标签推送到我们内部的Git repo主机, 但推送似乎并没有将裸存储库视为Git仓库.
我尝试过以下方法:
git clone --mirror git://aserver.adomain.com/myrepo
git remote set-url origin http://user@anotherserver.adomain.com/project/myrepo.git
git push origin
Run Code Online (Sandbox Code Playgroud)
这导致:
$ git push origin
Password for 'xxxx':
error: cannot spawn git: No such file or directory
Run Code Online (Sandbox Code Playgroud)
或者我试试:
$ git remote rm origin
Note: Some branches outside the refs/remotes/ hierarchy were not removed;
to delete them, use:
...a whole lot of branches...
user@SOMEMACHINE /some/path/myrepo.git (BARE:master)
$ ls
HEAD config description hooks info objects packed-refs refs
user@SOMEMACHINE /some/path/myrepo.git (BARE:master) …Run Code Online (Sandbox Code Playgroud) 我在Windows上使用git 1.9.0(msysgit),我有以下别名:
ignore = "!f() { echo $1 >> \"${GIT_PREFIX}.gitignore\"; }; f"
Run Code Online (Sandbox Code Playgroud)
我这样使用它:
$ git ignore /Directory/Subdir/
Run Code Online (Sandbox Code Playgroud)
这应该附加到.gitignore当前目录中的我的文件,或者如果它不存在则创建它.但是由于某种原因,我传入的路径正被转换为绝对路径,我不知道为什么:
这是我的附加内容.gitignore:
C:/Program Files (x86)/Git/Docs/Doxygen/html/
Run Code Online (Sandbox Code Playgroud)
出现这种情况的原因是什么?
如果我只是使用这样的命令:
$ git ignore Docs/Doxygen/html
Run Code Online (Sandbox Code Playgroud)
它不会转换路径.因此,在将参数传递给别名之前,看起来开头的正斜杠在shell中会导致一些问题.将其包含在引号中也不能解决问题.我很茫然!
试过这个:
$ git ignore \/Docs/Doxygen/html/
C:/Program Files (x86)/Git/Docs/Doxygen/html/
Run Code Online (Sandbox Code Playgroud)
正斜杠之前的反斜杠也不能修复它.
我认为这是msysgit中的一个错误.我在cygwin中做了同样的事情,看看会发生什么:
$ git ignore /Docs/Doxygen/html/
/Docs/Doxygen/html/
Run Code Online (Sandbox Code Playgroud)
:-(
我的存储库中有一个文件我想使用git blame,但我不确定它的路径是什么.
我设法使用这样的git日志:
git log -- '**/somefile'
Run Code Online (Sandbox Code Playgroud)
但我似乎无法用git责备做同样的事情.可能吗?
如果它是相关的,我正在使用mysysgit(git版本:1.9.5.msysgit.1).