作者: bob_zhang2004@163.com
潤飾: Richman
SVN 命令操作非常簡單和 CVS 的操作基本上是一致的。
修改了某個文件,想傳上去:
如果想在 commit 時,自動跳出 vi 讓你可以寫 commit 記錄,則要設置 SVN_EDITOR 環境變數:
export SVN_EDITOR=/usr/bin/vim,可以寫在在 ~/.bash_profile 裡面去。
新增加了某個文件 bob.c,想傳上去,
想要刪除某個文件bob.c :
然後 svn commit 即可
修改了某個文件,想傳上去:
svn commit bob.c
如果想在 commit 時,自動跳出 vi 讓你可以寫 commit 記錄,則要設置 SVN_EDITOR 環境變數:
export SVN_EDITOR=/usr/bin/vim,可以寫在在 ~/.bash_profile 裡面去。
新增加了某個文件 bob.c,想傳上去,
svn add bob.c自己修改了,發現錯了,想恢復到 svn 上面的第25版, 可以用
svn commit bob.c
svn update bob.c -r25
想要刪除某個文件bob.c :
svn del bob.c想徹底更新某個目錄(可能改了某個目錄的一些文件,都不想要了)
svn commit bob.c
svn revert -R xxx (xxx是那個目錄)比如 ,我 checkout 下來後,新建了一個目錄,然後要上傳整個目錄, 這點比cvs強,
svn add xxx(xxx就是那個目錄) ,他會遞迴的增加整個目錄的。
然後 svn commit 即可
再次強調一點使用 SVN/CVS 的流程:
1. 自 SVN 檔案庫取出一份最新版本
如:
或
2. 修改,本地調試, 測試ok
3. 提交自己修改過的文件和增加的文件(svn add xxx) 。
注意人無完人, 可能會忘記傳了某個文件。你可以在工作副本的根目錄下 ,執行svn status,它會列出來你改了哪些文件。
如:
4. 上傳完畢後, 再自 SVN 檔案庫取出一份最新版本,編譯,測試,如果ok,發mail 給相關的人。
內容,比如 "I have updated "drivers/fs/ext3.c , pls update it "
總之越詳細越好,最好精確到文件, 如果不能精確到文件 ,也要精確到目錄。
不要只說 "我更新了 kernel 的代碼, 你 update 一下"
這樣的話,會給別人增加工作量,kernel 那麼多的代碼,別人總不能每次都 update , 那樣時間會很長。
5. 等待著別人的問題報告
注意事項: 當你都沒有穩定某個 c 文件的時候 ,不要 commit,不要三天兩頭 commit svn 上的同一個文件(如果是這樣,只能說明,你的改的還不穩定, 先自己測試穩定了再傳)
另外, svn 不是個人的備份的倉庫,是大家的財產,要一字千金的改。
1. 自 SVN 檔案庫取出一份最新版本
如:
svn checkout
或
svn update
2. 修改,本地調試, 測試ok
3. 提交自己修改過的文件和增加的文件(svn add xxx) 。
注意人無完人, 可能會忘記傳了某個文件。你可以在工作副本的根目錄下 ,執行svn status,它會列出來你改了哪些文件。
如:
svn status
svn commit
4. 上傳完畢後, 再自 SVN 檔案庫取出一份最新版本,編譯,測試,如果ok,發mail 給相關的人。
內容,比如 "I have updated "drivers/fs/ext3.c , pls update it "
總之越詳細越好,最好精確到文件, 如果不能精確到文件 ,也要精確到目錄。
不要只說 "我更新了 kernel 的代碼, 你 update 一下"
這樣的話,會給別人增加工作量,kernel 那麼多的代碼,別人總不能每次都 update , 那樣時間會很長。
5. 等待著別人的問題報告
注意事項: 當你都沒有穩定某個 c 文件的時候 ,不要 commit,不要三天兩頭 commit svn 上的同一個文件(如果是這樣,只能說明,你的改的還不穩定, 先自己測試穩定了再傳)
另外, svn 不是個人的備份的倉庫,是大家的財產,要一字千金的改。
沒有留言:
張貼留言