我创建了一个本地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
相同的操作来移动{{1与origin/master
。
我总是必须执行命令行推送才能使master
与origin/master
到达同一位置。
Q1。谁能告诉我如何在日食中做到这一点?
Q2。执行eclipse版本的master
的命令行版本是什么?
Q3。我的假设是git push
是我的本地HEAD指针而master
是远程服务器对当前HEAD的正确视图吗?
答案 0 :(得分:2)
通过egit's documentation的相关部分,你可以:
master
即可推送master
分支远程跟踪分支origin/master
通常由git fetch
更新(这是git pull
所做的一部分),但是使用命令行git,远程跟踪分支是还成功推送到正在跟踪的远程存储库中的分支。 Egit可能是基于git的纯Java实现之一,而不是命令行工具,而不是以相同的方式更新origin/master
成功推送。如果是这种情况,您只需JGit即可更新origin/master
。
更新:看来这是EGit中的一个已知错误(不是底层的JGit) - 错误报告在这里:
答案 1 :(得分:1)
对此进行了更新,我使用的是eclipse Helios,并且已经使用最新版本的egit升级到Indigo,并且修复似乎是活动的,因为我不再需要在推动后拉动。