那么让我来设置我的场景。我在 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 克隆的项目),转到 Team -> Pull,然后我被告知有“没有什么可取的出于理智的目的,我打开了“Git Reflog”视图,我看到我同事的更改没有列出,我开始摸不着头脑。
所以我进入命令行并发出命令git 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”视图中看到更改,列出为
Commit Commit Message Date Reflog Message
---------------------------------------------------------------
68cd2f0 Modified File 2015-12-23 pull: Fast-forward
所以,我觉得这里告诉我的内容让我相信有一个我不熟悉的 Git 概念 - 我可能只是错过了一些东西。所以...
- 关于 git 的工作方式,我是否遗漏了任何明显的东西?
- 我假设快进意味着我只是在同一个分支中向前移动我的头
- 如何在 Eclipse 中完成这个命令行“git pull”?
Edit:为了解决 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
However,当我进入 Eclipse 并查看 fetch 配置时,它是空白的。