所以我有一个git stash master分支(?),我将CD放入错误的文件夹并将所有内容推送到主服务器。
如何摆脱一切并重新开始,并推送正确的文件夹内容?
git init
Initialized empty Git repository in D:/apps/myapp_old/.git/
git add --all
git commit -m "Initial commit"
git remote add origin https://url/my_app.
git push -u origin master
我试过了:
$ git rm -r *
fatal: pathspec 'tmp' did not match any files
答案 0 :(得分:0)
如何摆脱一切并重新开始,并推送正确的文件夹内容?
如果您只想删除存储库的当前内容并重新开始:
只需删除.git
文件夹并添加您想要的任何内容
rm -rf .git
git init
git add .
git commit -m "message"
# remove any content from the repo
git rm --cached <any files you want to remove"
# update the removed files
git add . -A
# commit the file you have deleted
git commit -m "..."
# push changes
git push origin <branch>
<强> NOTE:
强>
内容将在存储库中,在下一次提交中,它将被删除
您可以使用git filter-branch
的交互式rebase要编辑和更改历史记录(rebase
),请按以下步骤操作:
// X is the number of commits you wish to squash
git rebase -i HEAD~X
一旦你压缩你的提交 - 选择e
进行编辑,当进程停止时删除所需的文件,然后继续并提交你的更改。
完成rebase
后,使用git push -f
<强> NOTE:
强>
Rebase是一种破坏性的,只能在没有其他人结账的分支上进行,否则他们的工作就会丢失。
How to change the content of the repo - reverting or undoing
答案 1 :(得分:0)
您将不得不删除您在本地分支中意外添加的所有源文件,重新发送并重新推送到远程。