如何解决Git-删除存储库后拒绝推送初始代码
好的,我对Git的经验非常有限,对Git的耐心有限,因为它提供的错误不是用简单明了的英语来表达的。我只是想将我的代码上传到我们的内部Bitbucket服务器-简单明了。
我在BitBucket中创建了一个存储库并运行以下内容:
cd existing-project
git init
git add --all
git commit -m "Initial Commit"
git remote add origin https://username@bitbucket.company.org/scm/co/project-0987654321.git
git push -u origin master
问题是,我意识到在Bitbucket中创建存储库名称时错了,所以我删除了存储库并使用正确的名称重新创建了存储库,现在在本地计算机上运行上述存储库时显示:
"On branch master
Initial commit
nothing to commit"
当我添加Bitbucket来源时,它说:
"fatal: remote origin already exists"
当我运行git push时,它说:
"error: src refspec master does not match any
error: failed to push some refs to 'https://username@bitbucket.company.org/scm/co/project-0987654321.git'"
那么,如何在本地计算机上将其恢复为“正常,准备提交,准备就绪”状态?很显然,我在经验不足的情况下还是有所选择。
编辑:
“ git status”表示我是
On branch master
No commits yet.
所以我按照git status (nothing to commit,working directory clean),however with changes commited运行:“ git branch --set-upstream-to origin / master”,我得到:
branch 'master' does not exist
这从字面上讲是没有意义的。 我已经尝试了删除本地.git存储库和Bitbucket存储库的所有变体,并尝试从无到有。
文件好像被“污染”了,不会上传。
带回复制和粘贴的日子……这实际上就是我想要做的。我从未听说过像这样的系统。
解决方法
删除并再次添加origin
,然后推送您的代码。或使用origin
以外的名称创建一个新的遥控器。
编辑:重新创建origin
后首次推送到新存储库时,请执行git push -u origin master
为master分支设置上游引用。 git clone
会自动为master分支(以及克隆时远程仓库中存在的任何其他分支)为您执行此操作,但是git add remote
不会。
此部分:
On branch master Initial commit nothing to commit
是个坏消息:这意味着您在一个完全空的存储库中,即没有提交,也没有要提交的文件。
如果您的工作树中有包含有用数据的文件,请确保立即保存,因为现在该Git存储库中根本没有任何文件。 (您的工作树中的文件实际上不是存储库中的。)
在以下情况下不应发生此状态-initial commit
和nothing to commit
:
git commit -m "Initial Commit"
所以某事在这里是严重错误的,但是从您所包含的问题来看,尚不清楚是什么。我的猜想是:
我删除了它,并用正确的名称重新创建了它
我们已经通过某种“ it”代名词对某种致命的Git罪?作了书面记录。您删除的是什么“东西”?如果您只是通过其Web界面删除了 Bitbucket 存储库,那应该可以,但是您不应处于这种Initial commit
状态。
如果您删除了两个存储库(本地存储库和Bitbucket存储库),然后重新创建了本地存储库,那也可以,尽管您会需要从某处获取所有内容(也许是文件的另一个副本)。但是那个可以消除:
fatal: remote origin already exists
错误,所以也不可能。
将要执行的操作是:
$ mkdir t
$ cd t
$ git init
Initialized empty Git repository in [path]
$ git add --all
$ git commit -m "Initial Commit"
On branch master
Initial commit
nothing to commit
$
之所以发生这种情况,是因为git add --all
没有添加任何内容。没有文件。工作树完全是空的(除了包含存储库本身的隐藏.git
目录之外):
$ ls -a
. .. .git
在这种情况下,解决方案是从其他位置获取所有工作树文件,并在第一次提交之前再次使用git add --all
步骤。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。