有些時候,git 倉庫累積了太多無用的歷史更改,導致 clone 檔案過大。如果確定歷史更改沒有意義,可以採用下述方法清空歷史,
1) 先 clone 專案到本地目錄 (以名為 mylearning 的倉庫為例)
$ git clone [email protected]:badboycoming/mylearning.git
2) 進入 mylearning 倉庫,拉乙個分支,比如名為 latest_branch
$ git checkout --orphan latest_branch
3) 新增所有檔案到上述分支 (optional)
$ git add -a
4) 提交一次
$ git commit -am "initialcommit."
5) 刪除 master 分支
$ git branch -d master
6) 更改當前分支為 master 分支
$ git branch -m master
7) 將本地所有更改 push 到遠端倉庫
$ git push -f origin master
8) 關聯本地 master 到遠端 master
$ git branch --set-upstream-to=origin/master
注意:對 gitee 使用者,因為 gitee 目前限制單個倉庫大小為 1024 mb,清除完歷史記錄後,還要去專案主頁 settings 下做一下 git gc.
完。
git 如何清理操作日誌 Git實戰三 時光倒流
git功能是很強大的,但要求技巧性也是目前最強,最靈活的乙個版本工具,小夥伴們剛使用git時候都會有比較多的迷茫,尤其剛使用的時候,發生丟失 的機率也是特別大的。所為此篇著重介紹git的時光倒流功能 relog git有乙個log功能,和relog容易混淆,log是展示目前各分支的提交日誌,而rel...
Git如何撤銷merge操作
方法一,reset 到 merge 前的版本,然後再重做接下來的操作,要求每個合作者都曉得怎麼將本地的 head 都回滾回去 git checkout 行merge操作時所在的分支 git reset hard merge前的版本號 方法二,當 merge 以後還有別的操作和改動時,git 正好也有...
Git如何撤銷merge操作
方法一,reset 到 merge 前的版本,然後再重做接下來的操作,要求每個合作者都曉得怎麼將本地的 head 都回滾回去 git checkout 行merge操作時所在的分支 git reset hard merge前的版本號 方法二,當 merge 以後還有別的操作和改動時,git 正好也有...