Gitlab - 清除commit節(jié)省空間

gitlab項目中,使用了太久的項目會有很多的提交,項目非常地大,如何清空項目以前的提交呢?又能保證現(xiàn)在文件不受影響,這里提供一個思路及解決方案,就是使用一個新創(chuàng)建的分支來處理這一情況。

解決方案

克隆一個項目

git clone ssh://git@gitlab.demo.com:10022/lake/aa.git

切換目錄

cd aa

創(chuàng)建臨時分支

git checkout --orphan tmp

添加所需要的文件

git add -A

添加commit信息

git commit -m "clean project"

刪除master分支

git branch -D master

更名分支

git branch -m master

提交分支

 git push -f origin master

第一次使用

會出現(xiàn)以下錯誤

To ssh://git@gitlab. demo.com:10022/lake/aa.git
 ! [rejected]        master -> master (non-fast-forward)
error: 無法推送一些引用到 'ssh://git@gitlab. demo.com:10022/lake/aa.git'
提示:更新被拒絕,因為您當前分支的最新提交落后于其對應(yīng)的遠程分支。
提示:再次推送前,先與遠程變更合并(如 'git pull ...')。詳見
提示:'git push --help' 中的 'Note about fast-forwards' 小節(jié)。
[lake@localhost aa]$ git push origin master --force
對象計數(shù)中: 5, 完成.
Delta compression using up to 8 threads.
壓縮對象中: 100% (2/2), 完成.
寫入對象中: 100% (5/5), 271 bytes | 0 bytes/s, 完成.
Total 5 (delta 0), reused 4 (delta 0)
remote: GitLab: You are not allowed to force push code to a protected branch on this project.
To ssh://git@gitlab. demo.com:10022/lake/aa.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: 無法推送一些引用到 'ssh://git@gitlab. demo.com:10022/lake/aa.git'

可在gitlab項目的Settings -> Repository -> Protected branch -> unprotect


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容