没有共同的参考,也没有指定参考;什么也不做


70

我有一个本地git项目,想要添加到gitolite中。显然这很难,所以我放弃了这个主意。我通过将其添加到gitolite-admin / conf / gitolite.conf中并提交并推送更改来创建一个新的gitolite回购。然后,我git clone git-noah:project-name成功克隆了新的仓库。然后,我将.git以外的所有文件和文件夹复制到项目名称文件夹。我做到了

git add -A
git commit -a -m "Moved to new repo."
git push

我收到此错误:

warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use:

  git config --global push.default simple

See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)

No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'master'.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to 'git-noah:project-name'

您要运行git config消息中的任何一条语句。 git help config将为您解释它们之间的差异。您可以阅读此问题以获取更多信息。
保罗·希克斯


实际上,这个问题似乎是规范的参考。
Paul Hicks

Answers:


183

远程(原始)存储库上尚不存在“主”。

git push origin main

第一次推送后,您可以使用更简单的

git push

编辑: 随着最近的趋势,我的答案已更新为将“主”替换为“主”


1
@Enrico检查您要推送的分支名称。随着最近的趋势,“大师”一词正在改变。
奥利弗

1
@Oliver,是的,您是对的。有些人更喜欢“主人”作为“主要”。
Tanzeel

1
@Tanzeel是的,2020年的“主要”可能是更合适的选择。我的原始答案写于2014年,早于新的分支命名讨论。
奥利弗

很奇怪,main无效,并给了我refspec错误...我不得不将其更改为master。这是在新的github存储库上。
堆高机

0

如果您使用git进行镜像,请使用以下命令:

git config remote.backup.mirror true

0

您的master分支可能位于上游,需要在分支master上取消设置

您的分支基于“来源/主”,但上游已消失。(用于git branch --unset-upstream修复)


-4

由于您重新创建了存储库,因此本地和远程存储库的历史记录不同。因此,Git不允许您推送此内容。

如果你不害怕失败是在远程存储库的内容,你可以强制推:git push -f


他们绝对共享历史!这是有关git的最棒的事情之一,它知道远程回购中发生的所有事情,因为您已克隆了整个事情。
奥利弗
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.