gpt4 book ai didi

eclipse - EGit:发出快进 pull 〜如何在 EGit 中配置远程存储库的提取

转载 作者:行者123 更新时间:2023-12-02 09:29:40 27 4
gpt4 key购买 nike

那么让我设置一下我的场景。我在 Spring Tool Suite (Eclipse 4.5.1) 中使用 EGit 4.1.1。我和精通技术的同事从远程 URL 克隆了相同的 git 存储库。我的技术娴熟的同事更喜欢命令行,他使用 VIM 修改文件,然后发出命令

git add .
git commit -m "Modified file"
git push

现在更改在远程存储库中。现在,我不太喜欢使用 CLI 而更喜欢 GUI,我在 Eclipse 中使用 EGit。为了接收更改,我右键单击该项目(我最初使用 EGit 克隆的项目),转到团队 -> pull ,我被告知没有“Nothing to fetch”。为了理智起见,我打开了“Git Reflog” View ,发现我同事的更改没有列出,我开始摸不着头脑。

所以我转到命令行并发出命令 git pull,瞧!它 pull 入了我的同事更改:

remote: Counting objects: 27, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 14 (delta 4), reused 0 (delta 0)
Unpacking objects: 100% (14/14), done.
From git://hostname.domain.com/git-repo
* branch master -> FETCH_HEAD
Updating 123ae12..68cd2f0
Fast-forward

更好的是,我回到 Eclipse,我看到“Git Reflog” View 中的变化,列为

Commit   Commit Message     Date         Reflog Message
---------------------------------------------------------------
68cd2f0 Modified File 2015-12-23 pull: Fast-forward

所以,我觉得这里告诉我的内容让我相信有一个我不熟悉的 Git 概念——我可能只是错过了一些东西。所以……

  • 关于 git 的工作原理,我在这里明显遗漏了什么吗?
  • 我假设快进意味着我只是在同一个分支中向前移动我的 HEAD
  • 如何在 Eclipse 中完成此命令行“git pull”?

编辑:为了解决 VonC 的回答,我添加了这个信息,它既是更多信息,也是这个问题的解决方案。

在命令行中,当我(从存储库)运行 cat ./.git/.gitconfig 时,我得到以下输出:

[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
[remote "origin"]
url = git://hostname.domain.com/git-repo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master

但是,当我进入 Eclipse 并查看获取配置时,它是空白的。

最佳答案

补充一下 VonC 的回答,这意味着当我最初使用 EGit 为 git 仓库配置 Remote 时,我错过了一个步骤。因为我没有为存储库配置提取,Eclipse 给我错误“没有什么可以提取”——也许它应该给我一个更有意义的错误,比如“没有为这个存储库配置提取。要配置,你必须。 ..”也许我稍后会解决这个问题,因为 EGit 是开源的。

要在 Eclipse (EGit) 中解决此问题,请执行以下操作:

  1. 确保 Git 存储库 View 已打开。
  2. 选择特定的 git 仓库,展开它直到 remotes 中的特定远程被展开: EGit Repository: Select Remote
  3. 右键单击传入源并选择配置获取 EGit Remote: Configure Fetch
  4. 在对话框中,如果您看到根本没有配置提取,请选择 Ref Mappings Pane 旁边的添加 EGit Configure Fetch: Add Ref
  5. 在对话框中,对于 Source,键入 refs/heads/*(尽管显示“在远程存储库中找不到”消息。选择NextEGit Add Ref: Select Source
  6. 对于目的地,确保填写refs/remotes/origin/*(它可能会自动填充)。确保选中即使数据可能丢失也更新本地存储库。单击完成EGit Add Ref: Select Destination
  7. 现在,在您的Configure Fetch 对话框中,您将看到新的 ref 映射:+refs/heads/*:refs/remotes/origin/*。这与 .gitconfig 文件中的内容相匹配。 EGit Configure Fetch: Ref Added
  8. 如果您打算稍后获取,请点击保存,或者如果您希望更新您的本地存储库,请点击保存并获取

我不完全确定为什么 EGit 没有自动执行此操作,也许这是另一天的问题。

关于eclipse - EGit:发出快进 pull 〜如何在 EGit 中配置远程存储库的提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34447447/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com