我想清除远程存储库并推送新文件。
我'我正在
git commit -m "fix"
# HEAD detached from 0027561
nothing to commit, working directory clean
并没有任何东西被推到遥控器上。
我试过git init,但它没有用。
我该怎么做?
答案 0 :(得分:2)
你可以建立一个新分支
git checkout -b newBranch
git push -u origin newBranch
如果您想更新现有的分支,例如master,您可以在master之上重新定义新分支:
git rebase master
git checkout master
git merge newBranch
git push heroku master
我更喜欢直接签出master
或强制master
到新分支(git branch -f master newBranch
),因为它考虑了在主服务器上同时进行新提交的情况(意思是“在提交与分离的HEAD完成时”)
答案 1 :(得分:0)
清除存储库(远程或本地)不是你可以在git中实际执行的操作。不知道为什么你会这么想。 Git init在本地创建一个新的存储库。如果在现有存储库上运行它将失败。
你得到的错误是关于你的本地HEAD被分离,这意味着你实际上并不在分支上,这可能是由于你之前在你的问题中拒绝提及的事情。如果你做一个git状态,它会告诉你这个。
通过签出分支来解决这个问题:git checkout master应该适用于大多数拥有主分支的存储库。这让你回到主分支。
提交实际上并没有推送到远程。因此,即使您没有分离,仍然不会远程发送您的提交,但它只是在您的.git目录中的本地git存储库中创建提交。
一旦您拥有实际提交的实际分支,您可以尝试推送到远程存储库。我假设你实际上有一个,你实际上克隆了它。如果你这样做,它通常被称为'origin',你需要将提交从本地主分支推送到原始分支。
git push通常会做那项工作。如果失败,git push --all(所有分支)或git push origin master(只是master分支)。