【发布时间】:2011-09-15 10:46:29
【问题描述】:
我创建了一个本地 git 存储库,并将更改从它推送到我创建的 gitosis 远程
git init my_git
git remote add origin git@server:my_git
... various adds and commits
git push origin master:refs/heads/master
现在,我在 Eclipse 中本地编辑和提交更改,当我提交时,我看到(使用 qgit)它将我的 master 分支移动到该版本。
但是,它也告诉我origin/master 是以前的版本。
git status 在命令行上向我显示一切都是最新的:
$ git status
# On branch master
nothing to commit (working directory clean)
我可以看到版本的差异
git diff origin/master
如果我在命令行上执行 git push,那么 qgit 会显示 origin/master 分支现在与我的 master 位于同一位置。
我不知道如何在 Eclipse 中配置“远程/推送”或“远程/配置推送到上游”对话框,以执行与命令行 git push 相同的操作,将 origin/master 移动到与master同级。
我总是必须执行命令行推送以使origin/master 与master 出现在同一位置。
第一季度。谁能告诉我如何在eclipse中做到这一点?
第二季度。什么是git push的命令行版本做了eclipse版本不做的?
第三季度。我假设master 是我的本地 HEAD 指针,origin/master 是远程服务器对当前 HEAD 的看法是否正确?
【问题讨论】:
-
当您从 Eclipse 推送时,gitolite 存储库中的
master分支是否已更新? -
是的,它似乎已更新。我从 Eclipse 进行了推送,然后将 gitolite 存储库克隆到其他地方,我所做的更改在我的新克隆中。
origin/master仍然设置为以前的版本,所以这告诉我推送正在工作并且origin/master不是远程服务器的 HEAD。新的克隆在最新版本中具有“master”、“origin/master”,但在之前版本中具有“origin/origin/master” -
你在新克隆中有一个
origin/origin/master,这表明你不小心将origin/master(而不仅仅是master)推送到gitolite存储库中的匹配名称. -
谢谢,看来我已经这样做了,现在我已经删除了远程 origin/origin/master,并将我的推送编辑为只做
master。