日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件配置管理(六)常用配置软件配置工具指令

發(fā)布時(shí)間:2023/12/4 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件配置管理(六)常用配置软件配置工具指令 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 軟件配置管理工具的主要功能
  • 兩種版本控制模型
    • Lock-Modify-Unlock
    • Copy-Modify-Merge
  • Subversion
  • Git

軟件配置管理工具的主要功能

  • 版本控制
  • 變更管理
  • 配置審核
  • 配置狀態(tài)統(tǒng)計(jì)
  • 問題跟蹤
  • 訪問控制和安全控制

兩種版本控制模型

Lock-Modify-Unlock

“加鎖-修改-解鎖”模型
對于版本庫中的一個(gè)文件,同一時(shí)間只允許一個(gè)用戶修改。

  • 鎖定可能導(dǎo)致管理問題。一個(gè)用戶可能過長時(shí)間占用文件,導(dǎo)致其他用戶無法修改。
  • 鎖定可能導(dǎo)致不必要的線性化開發(fā)。若兩個(gè)用戶修改同一個(gè)文件的不同部分,這種修改是不會造成沖突的,但鎖定模型強(qiáng)制他們串行工作。
  • 鎖定可能導(dǎo)致錯(cuò)誤的安全狀態(tài)。對文件的循環(huán)等待可能造成死鎖。

Copy-Modify-Merge

“拷貝-修改-合并模型”
每個(gè)用戶讀取項(xiàng)目版本庫建立一個(gè)私有工作副本,用戶并行工作,修改各自的副本,最終將各用戶的副本合并在一起,形成最終的版本。若副本之間有沖突,需要手動(dòng)選擇保留哪份修改。

復(fù)制-修改-合并模型感覺是有一點(diǎn)混亂,但在實(shí)踐中,通常運(yùn)行的很平穩(wěn),用戶可以并行的工作,不必等待別人,當(dāng)工作在同一個(gè)文件上時(shí),也很少會有重疊發(fā)生,沖突并不頻繁,處理沖突的時(shí)間遠(yuǎn)比等待解鎖花費(fèi)的時(shí)間少。
最后,一切都要?dú)w結(jié)到一條重要的因素: 用戶交流。當(dāng)用戶交流貧乏,語法和語義的沖突就會增加,沒有系統(tǒng)可以強(qiáng)制用戶完美的交流,沒有系統(tǒng)可以檢測語義上的沖突,所以沒有任何證據(jù)能夠承諾鎖定系統(tǒng)可以防止沖突,實(shí)踐中,鎖定除了約束了生產(chǎn)力,并沒有做什么事。

  • 如果是不可合并的文件,如二進(jìn)制文件、圖片等,此時(shí)修訂-修改-解鎖模型會更好。

Subversion

命令名稱功能
svn add將文件、目錄或符號鏈納入版本控制。(只有帶.svn的工程才能使用add)
svn checkout從版本庫取出一個(gè)工作副本。Checkout 只在第一次鏈接時(shí)操作一次,以后如果進(jìn)行更新操作,請使用(Update)指令進(jìn)行相關(guān)操作
svn commit將修改從工作副本發(fā)送到版本庫
svn copy拷貝工作副本或版本庫的文件或目錄
svn diff顯示兩個(gè)版本或兩個(gè)路徑的區(qū)別
svn export導(dǎo)出一個(gè)不帶.svn文件夾的目錄樹
svn import將未納入版本控制的文件或目錄樹提交到版本庫。(僅僅是把文件導(dǎo)入到svn服務(wù)器中,而這個(gè)文件本身還只是一個(gè)普通的文件,與svn版本庫沒有關(guān)系)
svn info顯示本地或遠(yuǎn)程條目的信息
svn list顯示版本庫中的目錄內(nèi)容
svn lock鎖定版本庫中的路徑,使得其他用戶不能向其提交修改
svn log顯示提交日志信息
svn merge合并兩個(gè)版本中的內(nèi)容
svn mkdir創(chuàng)建納入版本控制的新目錄
svn move移動(dòng)一個(gè)文件或目錄
svn resolved刪除工作副本中目錄或文件的“沖突”狀態(tài)
svn revert撤銷所有本地修改
svn status打印工作副本中文件和目錄狀態(tài)
svn switch更新工作副本至同一個(gè)版本庫中另一個(gè)url
svn unlock解除工作副本或url的鎖定
svn update更新本地工作副本

Git

命令名稱功能
git config獲取并設(shè)置儲存庫或全局變量
git clone下載一個(gè)項(xiàng)目和它的整個(gè)代碼歷史
git init在當(dāng)前目錄新建一個(gè)git代碼庫
git status顯示有變更的文件
git diff顯示暫存區(qū)和工作的差異
git add添加當(dāng)前目錄的所有文件到暫存區(qū)
git mv改名文件,并放入暫存區(qū)
git rm刪除工作區(qū)文件,并且將這次刪除放入暫存區(qū)
git commit提交暫存區(qū)的指定文件到倉庫區(qū)
git log顯示當(dāng)前分支的版本歷史
git blame追溯一個(gè)指定文件的歷史修改記錄。
git reset重置暫存區(qū)的指定文件,與上一次commit保持一致,但工作區(qū)不變
git revert新建一個(gè)ccmmit,用來撤銷指定commit
git checkout在暫存區(qū)的本地分支之間切換或新建分支,會覆蓋當(dāng)前工作空間(clone用于獲取您沒有的存儲庫,checkout用于在您已有的存儲庫中的分支之間進(jìn)行切換。)
git branch列出所有本地分支
git tag列出所有tag
git merge合并指定分支到當(dāng)前分支
git remote查看已配置的遠(yuǎn)程倉庫
git fetch下載遠(yuǎn)程倉庫的所有變動(dòng)
git pull取回遠(yuǎn)程倉庫,并與本地分支合并
git push上傳本地指定分支到遠(yuǎn)程倉庫
git stash暫時(shí)將未提交的變化移除,稍后再移入

總結(jié)

以上是生活随笔為你收集整理的软件配置管理(六)常用配置软件配置工具指令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。