1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        如何在Mac上輕松使用SVN

        共 3759字,需瀏覽 8分鐘

         ·

        2022-05-28 04:23

        大家都知道,在Mac或Linux環(huán)境下使用git比較方便,但有時候根劇項目要求又不得不使用SVN,在windows系統(tǒng)上面有我們最為熟悉的小烏龜(TortoiseSVN,下載鏈接:https://tortoisesvn.net/downloads.zh.html)在mac系統(tǒng)上面則很少svn的工具,本文就帶大家對比Git,介紹如何在Mac上輕松使用命令行進行操作SVN,同時提升開發(fā)人員的格調(diào)。


        1.安裝svn 命令:

        mac:

        brew?install?svn


        centos:

        yum?-y?install?subversion



        2、驗證是否安裝成功


        ?svn?--version


        出現(xiàn)以下內(nèi)容表示安裝成功?


        3.拉取倉庫文件

        通過svn checkout命令檢出資源,?svn checkout 可以使用縮寫svn co

        svn?checkout?svn://xxxxxx
        例子:
        [root@s145?tmp]#?svn?checkout?svn://192.168.0.146:18080/repos?/tmp/svntest?--username=testuser

        #等同于
        git?clone????git@gitlab.*.com:gituser/*.com.git?(fetch)


        格式:

        svn?checkout?http://路徑(目錄或文件的全路徑) [本地目錄全路徑]?--username?用戶名?--password?密碼


        ?3.添加文件

        使用svn add命令添加前要求文件已存在,添加新文件只是告訴SVN,并沒有真實提交,需要使用commit提交。

        svn?add?file

        #等同于

        git?add?file


        4.提交文件到svn


        svn?commit?-m?"LogMessage"?[-N]?[--no-unlock]?PATH(如果選擇了保持鎖,就使用--no-unlock開關(guān))

        #等同于

        git?commit?-m?'init提示信息'?filepath


        #-m參數(shù)為必選,可以為空,用于備注說明

        #commit前必須先svn add添加文件到版本控制庫。

        #svn commit可以縮寫為svn ci


        5.加鎖/解鎖(很少用到)

        ?svn?lock?-m?"LockMessage"?[--force]?PATH
        ?svn?unlock?PATH

        #例如
        [root@s145?svntest]#?svn?lock?2.log
        2.log’?locked?by?user?‘wuhs’.

        [root@s145?svntest]#svn?unlock?2.log
        2.log’?unlocked.

        [root@s145?svntest]#?svn?lock?-m?“鎖定2.log”?2.log
        2.log’?locked?by?user?‘wuhs’.


        6.更新svn資源到某個版本

        #來源:公眾號【碼農(nóng)編程進階筆記】
        1.svn?update?-r?m?

        2.svn?update如果后面沒有目錄,默認將當前目錄以及子目錄下的所有文件都更新到最新版本。
        #相當于?git?pull?

        3.svn?update?-r?200?test.php(將版本庫中的文件test.php還原到版本200)
        #相當于
        git??reset??052e???????????#?回退到指定版本

        4.svn?update?test.php(更新,于版本庫同步。如果在提交的時候提示過期的話,是因為沖突,需要先update,修改文件,然后清除svn?resolved,最后再提交commit)

        ?

        ?svn update? ? ? ? ? ?#更新整個版本庫

        svn update -r 修正版本 文件名? #回退指定文件

        svn update 文件名? ? ? ##更新指定文件

        版本號可以通過svn log查看


        7.查看文件或者目錄狀態(tài)

        svn status?命令簡寫svn st

        svn?status?path

        #相當于

        git?status


        [root@s145?svntest]#?svn?status?2.log
        M?2.log
        [root@s145?svntest]#?svn?status?3.log
        [root@s145?svntest]#?svn?status?-v?testdir/
        5?1?wuhs?testdir


        ?:不在svn的控制中;

        M:內(nèi)容被修改;

        C:發(fā)生沖突;

        A:預定加入到版本庫;

        K:被鎖定


        8.刪除文件

        通過svn delete刪除文件后需要執(zhí)行提交操作才會真正刪除。

        #方法一:刪除和提交操作
        svn?delete?path?-m?"delete?test?fle"

        #方法二:先刪除再提交

        svn?delete?1.log

        svn?commit?-m?“”


        9.查看日志


        svn?log?path

        #查看某個文件的日志
        svn?log?2.log


        10.查看文件詳細信息

        svn?info?path


        11.將兩個版本之間的差異合并到當前文件

        svn?merge?-r?m:n?path


        12.SVN 幫助

        svn?help


        13.比較文件版本差異

        svn?diff?file??

        命令可以簡寫為svn di

        [root@s145?svntest]#?/opt/csvn/bin/svn?diff?2.log
        [root@s145?svntest]#?ll
        total?0
        -rw-r–r--?1?root?root?0?Feb?11?17:06?2.log
        -rw-r–r--?1?root?root?0?Feb?11?17:35?3.log
        drwxr-xr-x?2?root?root?6?Feb?11?17:03?testdir
        -rw-r–r--?1?root?root?0?Feb?11?17:03?testfile.txt
        [root@s145?svntest]#?echo?“2-test”?>?2.log
        [root@s145?svntest]#?/opt/csvn/bin/svn?diff?2.log
        Index:?2.log
        ===================================================================
        —?2.log?(revision?5)
        +++?2.log?(working?copy)
        @@?-0,0?+1?@@
        +2-test


        ?

        14.解決沖突


        [root@s145?svntest]#?svn?resolved?2.log
        Resolved?conflicted?state?of?‘2.log
        [root@s145?svntest]#?svn?commit?-m?“”?2.log
        Sending?2.log
        Transmitting?file?data?.
        Committed?revision?9.


        15.創(chuàng)建納入版本控制下的新目錄

        [root@s145?svntest]#?svn?mkdir?abc
        A?abc

        [root@s145?svntest]#?ls
        2.log?3.log?abc?testdir?testfile.txt

        [root@s145?svntest]#?svn?commit?-m?“新增目錄”?./
        Adding?abc
        Committed?revision?11.


        16.版本庫下的文件和目錄列表

        svn?list?命令簡寫svn?li


        [root@s145?svntest]#?svn?list?./
        1.log
        2.log
        testdir/
        testfile.txt


        17.不更新情況下查看SVN文件

        svn?cat?file



        18. 新建分支


        [root@s145?svntest]#?svn?mkdir?branches

        A?branches
        [root@s145?svntest]#?svn?copy?svn://192.168.0.146:18080/repos/testdir?svn://192.168.0.146:18080/repos/branches?-m?“新建分支測試”

        Committed?revision?12.


        19.遞歸清理工作拷貝


        [root@s145?svntest]#?svn?cleanup
        #遞歸清理工作拷貝,刪除未完成的操作鎖定。
        如果你得到一個“工作拷貝已鎖定”的錯誤,
        運行這個命令可以刪除無效的鎖定,
        讓你的工作拷貝再次回到可用的狀態(tài)。
        命令語法是svn?cleanup?[PATH…],如果沒有傳遞路徑則使用默認值"."


        20.svn提交文件流程

        (1)首次提交文件
        svn?add?file
        svn?commit?-m?'msg'?file

        (2)非首次提交文件
        svn?commit?-m?'second'?file


        21.git 提交文件流程

        git?add?file????#每次提交時都需要add添加
        git?commit?-m?'msg'
        git?push?origin?dev

        精彩文章

        圖解 | git rebase使用筆記

        每個人都應(yīng)該知道的25個Git命令

        【面試】面試中經(jīng)常遇到的Git 操作命令

        【精選】竟然還有你不知道的git神奇操作?

        搭建服務(wù)器上的GIT并實現(xiàn)自動同步到站點目錄

        瀏覽 60
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产精品成人导航欧美另类 | 豆花视频入口在线播放 | 极品最强网红八月未央 | 中国少妇xxxxxbbbbb | 99精品视频在线播放免费 | 少妇挙交变态高清视频 | 伊人福利网 | 啊灬啊灬啊灬快灬高潮了女视频 | 东京热综合 | 久久久久国产精品人 |