refs/remotes/origin/development'存在;无法创建 'refs/remotes/origin/development/master' --tags 推送到所有分支
refs/remotes/origin/development' exists; cannot create 'refs/remotes/origin/development/master' --tags pushed to all branches
我已经在 bitbucket 中创建了一个新的存储库。
从我的本地文件夹我做了:
git remote add origin https://......
git push -u origin master
所以,我的项目上传到 bitbucket。
然后,我从 bitbucket 创建了另外 2 个分支,开发和发布。
然后我做了:
git fetch origin development
然后git branch --set-upstream-to=origin/development
因为我想推进开发分支
git status -sb
## master...origin/development
然后git remote add origin/development https://..
添加开发分支
最后:
git push --tags origin/development master
将标签推送到开发分支。
正如我所见,它在所有分支(master 和 development)中推送了标签,尽管我只选择了 development。
现在,上述命令的完整消息是:
Counting objects: 1, done.
Writing objects: 100% (1/1), 170 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://bitb....
* [new tag] show -> show
* [new tag] v1.0.0 -> v1.0.0
error: update_ref failed for ref 'refs/remotes/origin/development/master': cannot lock ref 'refs/remotes/origin/development/master': 'refs/remotes/origin/development' exists; cannot create 'refs/remotes/origin/development/master'
所以,它说 remotes/origin/development
存在,但 remotes/origin/development/master
不存在。
我不明白为什么要搜索那个。
这一步:
Then git remote add origin/development https://.. to add the development branch.
是错误的:它添加了一个名为 origin/development
的新 远程 ,这不是一个好主意,因为您已经有一个名为 origin
的远程。
遥控器只是 URL 的简称,您的 Git 可以通过它联系另一个 Git。据推测,您的所有分支都转到 Bitbucket 上的 same 单个 Git URL,您只需调用 origin
.
git pull
命令使这个特别混乱,因为它充满了历史怪事。我建议避免它。一旦你避免了 git pull
——无论如何这只是一个方便的捷径——剩下的项目就更有意义了:origin
只是你的 Bitbucket URL 的简称,而你 git push origin development
将 development
推到那里。当您从 origin
获取时,您的 Git 会重命名您从他们的 Git 获取的内容,以便他们的 master
成为您的 origin/master
而他们的 development
成为你的 origin/development
。这里的 origin
部分来自远程名称, /master
或 /development
部分来自分支名称,如 their ( Bitbucket 的)Git 存储库。
您还可以使用以下方式删除 ref:
git update-ref -d refs/remotes/origin/development
我已经在 bitbucket 中创建了一个新的存储库。
从我的本地文件夹我做了:
git remote add origin https://......
git push -u origin master
所以,我的项目上传到 bitbucket。
然后,我从 bitbucket 创建了另外 2 个分支,开发和发布。
然后我做了:
git fetch origin development
然后git branch --set-upstream-to=origin/development
因为我想推进开发分支
git status -sb
## master...origin/development
然后git remote add origin/development https://..
添加开发分支
最后:
git push --tags origin/development master
将标签推送到开发分支。
正如我所见,它在所有分支(master 和 development)中推送了标签,尽管我只选择了 development。
现在,上述命令的完整消息是:
Counting objects: 1, done.
Writing objects: 100% (1/1), 170 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://bitb....
* [new tag] show -> show
* [new tag] v1.0.0 -> v1.0.0
error: update_ref failed for ref 'refs/remotes/origin/development/master': cannot lock ref 'refs/remotes/origin/development/master': 'refs/remotes/origin/development' exists; cannot create 'refs/remotes/origin/development/master'
所以,它说 remotes/origin/development
存在,但 remotes/origin/development/master
不存在。
我不明白为什么要搜索那个。
这一步:
Then git remote add origin/development https://.. to add the development branch.
是错误的:它添加了一个名为 origin/development
的新 远程 ,这不是一个好主意,因为您已经有一个名为 origin
的远程。
遥控器只是 URL 的简称,您的 Git 可以通过它联系另一个 Git。据推测,您的所有分支都转到 Bitbucket 上的 same 单个 Git URL,您只需调用 origin
.
git pull
命令使这个特别混乱,因为它充满了历史怪事。我建议避免它。一旦你避免了 git pull
——无论如何这只是一个方便的捷径——剩下的项目就更有意义了:origin
只是你的 Bitbucket URL 的简称,而你 git push origin development
将 development
推到那里。当您从 origin
获取时,您的 Git 会重命名您从他们的 Git 获取的内容,以便他们的 master
成为您的 origin/master
而他们的 development
成为你的 origin/development
。这里的 origin
部分来自远程名称, /master
或 /development
部分来自分支名称,如 their ( Bitbucket 的)Git 存储库。
您还可以使用以下方式删除 ref:
git update-ref -d refs/remotes/origin/development