使用Git,我创建了一个本地分支“ Development / TOTS”,并尝试将其推送到远程仓库。
已经有一个名为“ Development”的远程分支,在推送后出现了这个错误:
$ git push origin Development/TOTS
Total 0 (delta 0), reused 0 (delta 0)
To https://git-codecommit.ap-southeast-2.amazonaws.com/v1/repos/my_repo
* [new branch] Development/TOTS -> Development/TOTS
error: update_ref failed for ref 'refs/remotes/origin/Development/TOTS': cannot lock ref 'refs/remotes/origin/Development/TOTS': 'refs/remotes/origin/Development' exists; cannot create 'refs/remotes/origin/Development/TOTS'
然后我匆忙/不明智地在SourceTree GUI中尝试了相同的推送。使用此方法没有明显的错误。
“开发”分支的所有者现在说,他们试图从该分支中提取错误。
但是我仍然可以在远程仓库(AWS代码提交控制台)和另一个本地仓库(一天之前)中看到它们的“ Development”分支。 “开发”中的代码看起来很旧。那么想知道我是否有可能通过推动“开发/ TOTS”来删除其近期历史的一部分?
如果我删除“ Development / TOTS”分支,他们的Development分支会回到原来的状态吗? (即没有拉出错误)。
我查看了Using the slash character in Git branch name,但“开发”分支仍然存在于远程的事实似乎与建议不符。
谢谢。
答案 0 :(得分:0)
所以想知道我是否有可能通过推动“开发/ TOTS”来删除其近期历史的一部分?
不。即使您拥有,该代码仍将出现在remote repo reflog中。
在AWS Codecommit控制台中:
git branch
检查那里有什么分支。Development
分支提交。Development/TOTS
分支(在远程服务器端)(如果它与git branch -d Development/TOTS
存在)