Git - 删除存储库后拒绝推送初始代码
Git - Refusing To Push Initial Code After Deletion of Repository
好的,我对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 时,它说:
"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 b运行ch --set-upstream-to origin/master" 根据 , 我得到:
branch 'master' does not exist
从字面上看是没有意义的。
我已经尝试了删除本地 .git 存储库和 Bitbucket 存储库的所有变体,并从头开始尝试无济于事。
好像文件被“污染”了,无法上传。
回到复制和粘贴的时代……这就是我真正想要做的。我从来不知道这样的系统。
删除并再次添加 origin
,然后推送您的代码。或者创建一个名称不是 origin
.
的新遥控器
编辑:当您在重新创建 origin
后初始推送到新的 repo 时,请执行 git push -u origin master
以设置主分支的上游引用。 git clone
会自动为 master 分支(以及克隆时远程仓库中存在的任何其他分支)执行此操作,但 git add remote
不会。
这部分:
On branch master
Initial commit
nothing to commit
是个坏消息:这意味着您在一个完全空的存储库中,即没有提交,也没有要提交的文件。
如果您的 work-tree 中有包含有用数据的文件,请确保暂时保留它们,因为现在,此 Git 存储库中什么都没有它。 (您 work-tree 中的文件实际上并不 在 存储库中。)
此状态——initial commit
和 nothing to commit
——不应发生在:
之后
git commit -m "Initial Commit"
所以 something 这里是严重错误的,但是从你在问题中包含的内容来看,不清楚是什么。我怀疑在这句话中:
I deleted it and recreated it with the correct name
我们掩盖了某种致命的 Git 罪过,也许是通过代词“它”。您删除的是什么“它”?如果您只是通过他们的 Web 界面删除了 Bitbucket 存储库,那应该没问题,但是您不应该处于这种 Initial commit
状态。
如果您删除了两个 存储库——本地存储库和 Bitbucket 存储库——然后re-created 本地存储库,那也可以,尽管您需要从某个地方获取所有内容(也许是文件的另一个副本)。但是 会消除:
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
没有添加任何内容。没有文件。 work-tree 完全是空的(除了包含存储库本身的隐藏 .git
目录):
$ ls -a
. .. .git
如果是这种情况,解决方案是从其他地方获取所有 work-tree 文件,并在第一次提交之前再次使用 git add --all
步骤。
好的,我对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 时,它说:
"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 b运行ch --set-upstream-to origin/master" 根据
branch 'master' does not exist
从字面上看是没有意义的。 我已经尝试了删除本地 .git 存储库和 Bitbucket 存储库的所有变体,并从头开始尝试无济于事。
好像文件被“污染”了,无法上传。
回到复制和粘贴的时代……这就是我真正想要做的。我从来不知道这样的系统。
删除并再次添加 origin
,然后推送您的代码。或者创建一个名称不是 origin
.
编辑:当您在重新创建 origin
后初始推送到新的 repo 时,请执行 git push -u origin master
以设置主分支的上游引用。 git clone
会自动为 master 分支(以及克隆时远程仓库中存在的任何其他分支)执行此操作,但 git add remote
不会。
这部分:
On branch master Initial commit nothing to commit
是个坏消息:这意味着您在一个完全空的存储库中,即没有提交,也没有要提交的文件。
如果您的 work-tree 中有包含有用数据的文件,请确保暂时保留它们,因为现在,此 Git 存储库中什么都没有它。 (您 work-tree 中的文件实际上并不 在 存储库中。)
此状态——initial commit
和 nothing to commit
——不应发生在:
git commit -m "Initial Commit"
所以 something 这里是严重错误的,但是从你在问题中包含的内容来看,不清楚是什么。我怀疑在这句话中:
I deleted it and recreated it with the correct name
我们掩盖了某种致命的 Git 罪过,也许是通过代词“它”。您删除的是什么“它”?如果您只是通过他们的 Web 界面删除了 Bitbucket 存储库,那应该没问题,但是您不应该处于这种 Initial commit
状态。
如果您删除了两个 存储库——本地存储库和 Bitbucket 存储库——然后re-created 本地存储库,那也可以,尽管您需要从某个地方获取所有内容(也许是文件的另一个副本)。但是 会消除:
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
没有添加任何内容。没有文件。 work-tree 完全是空的(除了包含存储库本身的隐藏 .git
目录):
$ ls -a
. .. .git
如果是这种情况,解决方案是从其他地方获取所有 work-tree 文件,并在第一次提交之前再次使用 git add --all
步骤。