<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何在Mac上輕松使用SVN

          共 3759字,需瀏覽 8分鐘

           ·

          2022-05-28 04:23

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


          1.安裝svn 命令:

          mac:

          brew?install?svn


          centos:

          yum?-y?install?subversion



          2、驗(yàn)證是否安裝成功


          ?svn?--version


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


          3.拉取倉(cāng)庫(kù)文件

          通過(guò)svn checkout命令檢出資源,?svn checkout 可以使用縮寫(xiě)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,并沒(méi)有真實(shí)提交,需要使用commit提交。

          svn?add?file

          #等同于

          git?add?file


          4.提交文件到svn


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

          #等同于

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


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

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

          #svn commit可以縮寫(xiě)為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資源到某個(gè)版本

          #來(lái)源:公眾號(hào)【碼農(nóng)編程進(jìn)階筆記】
          1.svn?update?-r?m?

          2.svn?update如果后面沒(méi)有目錄,默認(rèn)將當(dāng)前目錄以及子目錄下的所有文件都更新到最新版本。
          #相當(dāng)于?git?pull?

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

          4.svn?update?test.php(更新,于版本庫(kù)同步。如果在提交的時(shí)候提示過(guò)期的話,是因?yàn)闆_突,需要先update,修改文件,然后清除svn?resolved,最后再提交commit)

          ?

          ?svn update? ? ? ? ? ?#更新整個(gè)版本庫(kù)

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

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

          版本號(hào)可以通過(guò)svn log查看


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

          svn status?命令簡(jiǎn)寫(xiě)svn st

          svn?status?path

          #相當(dāng)于

          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:預(yù)定加入到版本庫(kù);

          K:被鎖定


          8.刪除文件

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

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

          #方法二:先刪除再提交

          svn?delete?1.log

          svn?commit?-m?“”


          9.查看日志


          svn?log?path

          #查看某個(gè)文件的日志
          svn?log?2.log


          10.查看文件詳細(xì)信息

          svn?info?path


          11.將兩個(gè)版本之間的差異合并到當(dāng)前文件

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


          12.SVN 幫助

          svn?help


          13.比較文件版本差異

          svn?diff?file??

          命令可以簡(jiǎn)寫(xiě)為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.版本庫(kù)下的文件和目錄列表

          svn?list?命令簡(jiǎn)寫(xiě)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?“新建分支測(cè)試”

          Committed?revision?12.


          19.遞歸清理工作拷貝


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


          20.svn提交文件流程

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

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


          21.git 提交文件流程

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

          精彩文章

          圖解 | git rebase使用筆記

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

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

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

          搭建服務(wù)器上的GIT并實(shí)現(xiàn)自動(dòng)同步到站點(diǎn)目錄

          瀏覽 60
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  最近最新MV字幕观看 | 久久久久久久久久成人永久免费视频 | 黄色观看在线 | 91香蕉麻豆 | 熟妇人妻中文字幕无码老熟妇 |