我创建了一个本地的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中的“remote/push”或“remote/configure push to upstream”对话框,以执行与命令行“git push”相同的操作,将“origin/master”移动到与“master”相同的级别。
我总是必须使用命令行推送才能使“origin/master”达到与“master”相同的位置。
问题1:有人可以告诉我如何在eclipse中完成这个操作吗?
问题2:命令行版本的“git push”执行了什么操作而eclipse版本没有执行?
问题3:我的假设是“master”是本地HEAD指针,“origin/master”是远程服务器对当前HEAD的视图,这是正确的吗?
gitolite
存储库中的master
分支是否会更新? - Mark Longairorigin/master
仍然设置为以前的版本,这告诉我推送正在工作,并且origin/master
不是远程服务器的HEAD。新克隆具有最新版本的“master”、“origin/master”,但也具有以前版本的“origin/origin/master”。 - Mark Fisherorigin/origin/master
表明你可能不小心将origin/master
(而不仅仅是master
)推送到了 gitolite 存储库中的匹配名称。 - Mark Longair