第一个远程:“alioth”https://anonscm.debian.org/git/collab-maint/wicd.git
第二个遥控器:“github”https://github.com/toogley/pkg-wicd
我从alioth获取了最后一次提交,但是当我想要“git push --all github”那个时,我的git说“一切都是最新的”,虽然我的远程分支在我看来与我的不同本地的,正好是77479e9
提交。
我目前有那些(本地)git日志:
* 77479e9 (tag: debian/1.7.3-1, alioth/master) Upload to unstable as 1.7.3-1
* ffc4dce closing #582567, which was fixed upstream in 1.7.3
* 31bd86d Add patch to show "Q" as key to quit the wireless network property view
* 88e8121 Add patch to fix "ValueError: None is not in list" in wicd-curses
| * b2931ca (HEAD, github/master, github/HEAD, master) closing #582567, which was fixed upstream in 1.7.2.4
==>这有什么不对?
编辑澄清一下:我有权做我想做的事。我已成功从debian repo中获取并想要推送到我的 github repo。所以,当然我有权限。
答案 0 :(得分:1)
没有什么是错误的,因为git的行为与预期一致。
当您使用git push --all
时,您实际上是在提供refspec refs/heads/*:refs/heads/*
。也就是说,获取所有本地分支并请求远程将其分支设置为相同的提交。
因此,使用上述内容,让我们看看您拥有的本地分支机构:
* 77479e9 (tag: debian/1.7.3-1, alioth/master) ...
这有一个标签(不是分支)和一个远程跟踪分支(不是本地分支)。
* ffc4dce ...
根本没有外部引用(通过父链接找到)。
* 31bd86d ...
* 88e8121 ...
同样适用于这两个。
| * b2931ca (HEAD, github/master, github/HEAD, master) ...
这有四个引用:HEAD
(即,是您当前的分支),github/master
(远程跟踪分支),github/HEAD
(远程 - 再次跟踪)和master
。
啊哈!有一个名为master
的本地分支,用于标识提交b2931ca
。所以你连接到github要求他们的git将一个名为master
的分支设置为b2931ca
,而且,它已经存在,无所事事。
如果您希望在推送之前向本地master
添加一些提交 - 毫无疑问,您必须这样做 - 您必须这样做。可能你想git merge
他们,可能是一个快速的操作,也许是强制合并(这是品味和策略的问题,而不是技术问题):
git merge --ff-only alioth/master
或:
git merge --no-ff alioth/master
(或没有标志,让git决定)。