使用 Git 管理 SVN Repository
說了再多 Git 的好處,如果開發團隊依舊繼續使用 SVN 的話,也只能望之興嘆?
Git 最大的特色就是分散式系統,因此可以離線操作,再借助 git-svn 的幫助,我們開發的時候就可以完全的使用 Git,只有在 Check in/out 才需要使用 SVN。以下整理出我個人常用的指令:
Check-out SVN Repository
1. git svn init http://svn/trunk/ProjectName
2. git svn fetch -r REV_NUM
3. git gc
因為 SVN Repository 可能非常龐大,如果不是需要全部的歷史提交資訊,我們可以直接指定從哪版 revision 開始即可。
最後進行垃圾蒐集和壓縮,以減少磁碟佔用空間。
刪除 Branch
git push origin :REMOTE_BRANCH
git branch -D LOCAL_BRANCH
git commit --amend
git commit --amend --date="$(date -R)"
刪除 Commit
- git reset –hard COMMIT_HASH
- git cherry-pick A B C
先退到要刪除的 commit 前一版,再加入被刪除的 commit 之後的修改。
合併多個 Commit
git rebase -i HEAD~2
在 Windows 與 Linux 間交互開發
git config --global core.autocrlf true
其他常用指令:
git branch -av
git rebase TARGET
git pull --rebase
git log --graph --oneline --all (git config --global color.ui auto)