合併多次提交記錄
有的時候我們對於某個功能爲了實時保存自己寫的代碼,可能會有多次提交,所以等功能穩定下來,我們可能會有這種需求:將前面多餘幾次的提交記錄合併爲1個記錄。幸運的是 Git 爲我們提供了這樣的命令。
有2種做法
-
合併部分
- git rebase -I HEAD~n。這裏的 n 代表壓縮最後n次提交。執行這條命令後會彈出 vim 編輯窗口,這 n 次提交記錄會倒序,最上面的是最早的提交,最下面的是最新的提交。
pick cc77998 ... pick 1821f6a ... ... pick 124422 ...
我們需要修改第2到n行的 pick 爲 squash,這個的意思爲將最後n-1次的提交合併爲1次提交。然後我們保存退出,git 會一個個壓縮提交歷史,如果有衝突則解決衝突就好。
- 完成之後我們將本地的修改提交到遠端。 Git push -f
-
全部合併
git rebase -i --root
將全部的提交記錄合併爲1個
刪除項目中所有的提交記錄
之前個人在 Github 開源了一些完整的項目,但是有些人用於商業用途,所以有了這個需求,就是將項目改動一下,刪除一些重要代碼提交最新的代碼到倉庫並且讓用戶不能通過提交的歷史記錄會滾到指定的版本看到代碼。
以下爲步驟
1.Checkout
git checkout --orphan latest_branch
2. Add all the files
git add -A
3. Commit the changes
git commit -am "commit message"
4. Delete the branch
git branch -D master
5.Rename the current branch to master
git branch -m master
6.Finally, force update your repository
git push -f origin master
給項目打 tag
git tag -a 1.0.0 -m 'release SPM lib'