与git-push相混淆

时间:2010-11-23 15:03:49

标签: git

我面对的情况令我困惑,但我想答案很简单,只是我看不到它......希望有人可以帮助我

我有一个git repo。 git-status说我有4个提交排队:

]$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 4 commits.
#

nothing to commit (working directory clean)

所以我做git-push(git push origin)然后它看起来很好,即我没有什么可推动的。但是,当我在另一个目录中提取(或获取+合并)repo时,更改不会显示。

此外,我可以从遥控器拉到本地目录(git pull origin),结果如下:

 + a4ac30f...10164ca master     -> origin/master  (forced update)
Already up-to-date.

之后我又提前4次提交,即在我开始的同样情况下。所以我可以重复这两个命令:

git push origin

总是导致:

]$ git push origin -v
Pushing to http://myserver.com/src.git/myrepo
Fetching remote heads...
  refs/
  refs/heads/
  refs/tags/
Everything up-to-date

git pull origin

其结果总是被引用无限次以上且没有任何反应,在第一个之后我总是“Everything up-to-date”而在第二个之后我总是“ahead of 'origin/master' by 4 commits

在两个本地存储库中,Fetch URL和Push URL是相同的; git remote show origin说:

  HEAD branch: master
  Remote branches:
    git-svn tracked
    master  tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (fast-forwardable)

最佳, 添

2 个答案:

答案 0 :(得分:1)

好的,我解决了!问题是之前的一些push没有正确进行,遥控器被搞砸了。我登录到远程服务器(基于WebDAV)并运行chown -R wwwrun src.git。然后,下一次推动完成了这项工作

答案 1 :(得分:0)

听起来你的主分支没有设置为跟踪origin / master,因此git push完全忽略它。尝试git push origin master具体告诉它要推送哪个分支。