在
gitlab
項(xiàng)目中,使用了太久的項(xiàng)目會(huì)有很多的提交尼桶,項(xiàng)目非常地大操灿,如何清空項(xiàng)目以前的提交呢?又能保證現(xiàn)在文件不受影響疯汁,這里提供一個(gè)思路及解決方案牲尺,就是使用一個(gè)新創(chuàng)建的分支來(lái)處理這一情況。
解決方案
克隆一個(gè)項(xiàng)目
git clone ssh://git@gitlab.demo.com:10022/lake/aa.git
切換目錄
cd aa
創(chuàng)建臨時(shí)分支
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
第一次使用
會(huì)出現(xiàn)以下錯(cuò)誤
To ssh://git@gitlab. demo.com:10022/lake/aa.git
! [rejected] master -> master (non-fast-forward)
error: 無(wú)法推送一些引用到 'ssh://git@gitlab. demo.com:10022/lake/aa.git'
提示:更新被拒絕幌蚊,因?yàn)槟?dāng)前分支的最新提交落后于其對(duì)應(yīng)的遠(yuǎn)程分支谤碳。
提示:再次推送前,先與遠(yuǎn)程變更合并(如 'git pull ...')溢豆。詳見(jiàn)
提示:'git push --help' 中的 'Note about fast-forwards' 小節(jié)蜒简。
[lake@localhost aa]$ git push origin master --force
對(duì)象計(jì)數(shù)中: 5, 完成.
Delta compression using up to 8 threads.
壓縮對(duì)象中: 100% (2/2), 完成.
寫入對(duì)象中: 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: 無(wú)法推送一些引用到 'ssh://git@gitlab. demo.com:10022/lake/aa.git'
可在gitlab
項(xiàng)目的Settings
-> Repository
-> Protected branch
-> unprotect