我在 Windows 服务器上安装了 cygwin,仅用于 ssh。
另外,我已经安装了Git for Windows , 由于 Cygwin git 不支持 Windows 扩展,因此打折使用。
我有一个 git ssh 用户,可以登录(通过 ssh)并可以在该用户的主目录下创建存储库。这允许我从运行 SourceTree 的 OSX 推送到服务器。在这种情况下,存储库位于:-
git@GitServer:Repos/Project.git
cygwin下文件夹的实际路径是:-
/cygwin/home/git/Repos/Project.git
但是,我希望能够将 Repos 目录直接放在 cygwin 文件夹的根目录下,而不是在主文件夹下:-
/Repos/Project.git
这样做会导致 SourceTree 在尝试推送到存储库时失败。我正在这样定义路径:-
git@GitServer:/Repos/Project.git
我还检查了文件夹的权限,这不是问题所在。
此消息中的失败结果:-
fatal: '/Repos/Project.git' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
我能理解,如果 repo 被放置在 cygwin 文件夹之外,我会遇到问题,但是它是否应该被放置在根目录下是不可能的,谁能解释我如何获得 SourceTree 访问路径 repo 协议(protocol),如果它被放置在根目录,而无需创建符号链接(symbolic link)?
最佳答案
因此,您在 Cygwin 的根目录中有一个包含 Git 存储库的目录。我希望您的 Cygwin 根目录是 c:\cygwin ,所以 Git 存储库的目录是 c:\cygwin\Repos\Project.git . Cygwin 的根目录挂载为 /在 Cygwin 中,所以你的 Git 存储库目录是 /Repos/Project.git .
SourceTree 是 native Windows .NET 应用程序,因此它使用 Windows 文件系统和 Windows 样式路径。因此,如果您说 SourceTree 在 /Repos/Project.git 中查找 Git 存储库,它试图在 c:\Repos\Project.git 中找到它,这显然是错误的。 只需在 SourceTree 中将其设置为正确的 Windows 路径即可。
对于任何 Windows 应用程序都是一样的。只有 Cygwin 应用程序才能理解 Cygwin 的路径。您可以使用 cygpath将 Cygwin 路径转换为 Windows,反之亦然。例如,此命令在 Windows 资源管理器中打开 Cygwin 中的当前目录:
explorer `cygpath -wa .`
存储库也可以放在任何地方,当然,它不一定要在Cygwin 的根目录下。它甚至可以在不同的驱动器上。 Cygwin 将所有 Windows 驱动器挂载为 /cygdrive/<drive-letter>默认情况下自动,例如d:\Repos可访问为 /cygdrive/d/Repos在 Cygwin 中。您还可以创建指向 Cygwin 之外的任何目录的符号链接(symbolic link),这样您就可以拥有例如/cygdrive/d/Repos链接为 ~/Repos以便从 Cygwin 更快地访问。
只有一个简单的规则:在 Cygwin 下使用 Cygwin 风格的路径,在 Windows 下使用 Windows 风格的路径。
关于windows - 带有 SourceTree 的 git 和 Cygwin 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24310633/
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
如何使此根路径转到:“/dashboard”而不仅仅是http://example.com?root:to=>'dashboard#index',:constraints=>lambda{|req|!req.session[:user_id].blank?} 最佳答案 您可以通过以下方式实现:root:to=>redirect('/dashboard')match'/dashboard',:to=>"dashboard#index",:constraints=>lambda{|req|!req.session[:user_id].b
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g
使用rspec-rails3.0+,测试设置分为spec_helper和rails_helper我注意到生成的spec_helper不需要'rspec/rails'。这会导致zeus崩溃:spec_helper.rb:5:in`':undefinedmethod`configure'forRSpec:Module(NoMethodError)对thisissue最常见的回应是需要'rspec/rails'。但这是否会破坏仅使用spec_helper拆分rails规范和PORO规范的全部目的?或者这无关紧要,因为Zeus无论如何都会预加载Rails?我应该在我的spec_helper中做
我需要根据字符串路径的长度将字符串路径数组转换为符号、哈希和数组的数组给定以下数组:array=["info","services","about/company","about/history/part1","about/history/part2"]我想生成以下输出,对不同级别进行分组,根据级别的结构混合使用符号和对象。产生以下输出:[:info,:services,about:[:company,history:[:part1,:part2]]]#altsyntax[:info,:services,{:about=>[:company,{:history=>[:part1,:pa
假设我有一个类A,里面有一些方法。假设stringmethodName是这些方法之一,我已经知道我想给它什么参数。它们在散列中{'param1'=>value1,'param2'=>value2}所以我有:params={'param1'=>value1,'param2'=>value2}a=A.new()a.send(methodName,value1,value2)#callmethodnamewithbothparams我希望能够通过传递我的哈希以某种方式调用该方法。这可能吗? 最佳答案 确保methodName是一个符号,而
当我进入Rails控制台时,我已将pry设置为加载代替irb。我找不到该页面或不记得如何将其恢复为默认行为,因为它似乎干扰了我的Rubymine调试器。有什么建议吗? 最佳答案 我刚发现问题,pry-railsgem。忘记了它的目的是让“railsconsole”打开pry。 关于ruby-on-rails-带有Pry的Rails控制台,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question