[英]Will 'git reset' + 'git push' send my detached commits to the remote repository?
[英]Git: How to reset a remote Git repository to remove all commits?
如何重置遠程和本地 Git 存儲庫以刪除所有提交?
我想以當前的 Head 作為初始提交重新開始。
徹底重置?
在本地刪除.git
目錄。
重新創建 git 存儲庫:
$ cd (project-directory) $ git init $ (add some files) $ git add . $ git commit -m 'Initial commit'
推送到遠程服務器,覆蓋。 請記住,這樣做會使其他所有人都陷入困境……您最好成為唯一的客戶。
$ git remote add origin <url> $ git push --force --set-upstream origin master
首先,按照此問題中的說明將所有內容壓縮為單個提交。 然后強制推送到遙控器:
$ git push origin +master
並可選擇刪除本地和遠程的所有其他分支:
$ git push origin :<branch>
$ git branch -d <branch>
如果我是你,我會做這樣的事情:
在做任何事情之前,請保留一份副本(安全總比后悔好)
git checkout master
git checkout -b temp
git reset --hard <sha-1 of your first commit>
git add .
git commit -m 'Squash all commits in single one'
git push origin temp
完成后,您可以刪除其他分支。
結果:您將擁有一個只有 2 個提交的分支。
使用
git log --oneline
以簡約的方式查看您的提交並查找提交的 SHA-1!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.