Egit 获取 &拉连接被拒绝

发布于 2024-10-18 11:23:56 字数 147 浏览 2 评论 0原文

我已经在两个 ubuntu 系统上安装了 eclipse 的 Egit 插件,并在两个系统上创建了两个新项目并共享(团队>共享)它。执行 fetch & 的正确方法是什么?使用 Egit 与其他用户拉取项目?

错误连接被拒绝

I've installed Egit plugin for eclipse on two ubuntu systems and created two new project on two sytems and shared(team>share) it. What's the proper way to do fetch & pull projects with other users with Egit?

Error connection refused

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

触ぅ动初心 2024-10-25 11:23:56

您需要配置一个新的远程配置,并填充提取和推送 URI。
您需要选择可用协议之一:

Egit 新远程配置对话框

  • 本地: file:// (您的两个服务器之间有直接共享路径吗?):是在项目之间共享的最简单的方式,不需要任何类型的听众。
  • git:这意味着端口 9418 没有被本地防火墙阻止。并且 git 守护进程需要处于活动状态才能侦听请求。
  • ssh:表示 git 以标准方式安装,因为 ssh 守护进程通常不授权在打开/访问远程 shell 会话时设置自定义环境变量。
  • http(s):您需要一个 http 侦听器,例如 Apache httpd 中的 gitweb。

如果您刚刚在一台服务器上创建了一个存储库,则需要在另一台服务器中克隆(不需要 Egit),然后“将现有的 Git 存储库添加到此视图中”(Git 存储库视图):这样,第一个 ( fetch,pull)远程地址已经被设置!


总结以下评论:

  • 使用 git 协议意味着:除了使用 git:// url 之外,在客户端(使用 Egit)无需执行任何操作。
    但是你需要在服务器端运行一个 git 守护进程,否则没有任何东西会监听你的请求(默认在端口 9418 上完成)。
  • 你可以通过 ssh 使用该协议,也可以不使用该协议(ssh 不是强制性的,但如果没有它,就无法单独使用 git 协议进行身份验证)
  • 如果你使用 ssh,同样你需要在服务器端运行 openssh 守护进程,以及一个 ssh-像 gitolite 这样的基础层(仍然在服务器端)更好,因为它不仅在远程安全 shell 中执行任何命令,而且只允许 git 命令,并且只允许在权限存储库/分支/目录上。

You need to configure a new remote configuration, with both fetch and push URI filled.
You need to choose one of the available protocols:

Egit new remote configuration dialog

  • local: file:// (do you have a direct shared path between your two servers?): that is the easiest way to share between projects, no listeners of any kind needed.
  • git: that means port 9418 isn't blocked by your local firewall. And a git daemon needs to be active to listen for requests.
  • ssh: means that git is installed in a standard way, because ssh daemon often don't authorize custom environment variable to be set when opening/accessing a remote shell session.
  • http(s): you need a http listener, at least gitweb within an Apache httpd for instance.

If you have just created a repo on one server, you need to clone in the other server (no Egit required), and then "Add an existing Git repo into this view" (the Git Repository view): that way, a first (fetch,pull) remote addresses will already being set!


To summarize the comments below:

  • using the git protocol means: nothing to do on the client side (with Egit) except using a git:// url.
    But you need to have a git daemon running on the server side, otherwise nothing will listen your request (done by default on port 9418).
  • you can use that protocol over ssh or not (ssh is not mandatory, but without it, there is no authentication with the git protocol alone)
  • if you use ssh, again you need the openssh daemon running on the server side, and an ssh-based layer like gitolite (still on the server side) is better, because it won't just execute any commands in a remote secure shell, but will allow only git command, and only on the rights repos/branches/directories.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文