UPDATE
如果你刪除了文件夾.git
(不是一個好主意),你可以創建回購的新克隆和移動你的東西到,並繼續在那裏。像這樣的東西
cd ..
git clone <remote-repo-url> new-repo
rm -rf new-repo/* // this will not remove new-repo/.git
cp -f <original-local-repo> new-repo
cd new-repo
然後繼續如下。
請注意,如果您可以恢復.git
文件夾,則效果會更好。創建一個新的回購將鬆動您在原始本地回購中的所有本地回購信息,例如從未推入的本地分支。
結束時更新
是改寫歷史,您可以
git reset --soft HEAD^
git add -A .
git commit -m "rewriting history"
git push --force origin master
這將備份到先前的承諾(同時保持工作樹和索引),提交更改,然後強制推到遠程。
push --force
是危險的東西。它會打擾那些已經拉下來的人,並且被認爲是非常粗魯的,但是如果沒有其他人開始工作,那不是問題。
這是正在發生的事情:
--- A -- B master
^
|
origin/master
git push
--- A -- B master, origin/master
git reset HEAD^
git commit -am "rewriting"
--- A -- B origin/master
\
\
B' master
git push --force
--- A -- B
\
\
B' master, origin/master
你想有一個乾淨的歷史被 「重新發起」?你爲什麼不直接前進並提交新的更改? – Mingyu
@明宇,我只做了一次提交,所以有一個乾淨的存儲庫是個好主意。 –
遠程回購的性質是什麼?如果它沒有任何活動克隆,請將其替換。 – tripleee