問題二 : 衝突
問題描述:
為了解決超時問題,只能更新.而在更新過程中,如果幾個人修改了同一檔案的同一行**,此時就會產生衝突。
產生原因:版本控制器不會那麼智慧型, 去決定應該使用誰的**作為最終**,只能將選擇權拋給使用者,讓使用者解決。
系統提供三種解決方案:
(p) postpone,
延遲處理(待會我自己處理), 如果選擇這一種, 會自動生成三個檔案供使用者參考決策. 並將衝突部分**塊合併到一起. 而一旦解決完畢, 需要執行 svn resloved filename 來告訴版本控制器已經解決, 然後版本控制器就會自動刪除三個參考檔案。
(mc) mine-conflict
使用我的(本地的), 如果**產生衝突, 則以本地**為準。
(tc) theirs-conflict
使用他人的(伺服器), 如果**產生衝突, 則以伺服器**為準
svn終端-版本回退:
1、修改了,但未提交的情況下, 回退**
方案1: (推薦)svn revert (作用:返回到上次提交後版本對應的最原始的狀態)
方案2: 刪除整個專案,重新checkout
2、修改了,並且提交了的情況反悔
方案1: 大力推薦
- svn update
(作用: 將本地**更新到與伺服器相同的版本)
- svn merge 檔名 -r 版本1:版本2
(作用: 把版本1 -> 版本2 的 diff 作用在當前版本)
- svn commit -m 「本地和伺服器都回退到某一指定版本」
(作用: 讓伺服器**也退回到之前某個版本狀態)
方案2:
- svn update -r 指定版本號(此時本地**已經變化,但是伺服器沒有改變)
*--------以下步驟是為了讓伺服器**也回滾到以前的版本----------*
- 修改部分檔案
- svn update (此時會產生衝突, 選擇使用自己的**即可)
- 再次提交**
方案3:
- 手動儲存需要回退的檔案內容
- 刪除檔案,提交到伺服器
- 重新新增檔案,上傳到伺服器
svn目錄規範
1、檔案目錄作用
trunk : 主幹,當前開發專案的主目錄;更新**,提交**都是在這個資料夾進行操作
brannches:分支目錄新增非主線功能時使用,開發測試之後,可以合併到主幹專案中。修復bug,研發不確定的新功能都在這裡做
tags:標記目錄,通常作為重大版本的備份;如果有發布版本出現bug,可以快速的找到對應版本的專案備份,然後開乙個分支,進行bug修復,用於與主幹區分。在進行備份的時候,svn是將整份**全部複製一遍;
ioctl初步理解
ioctl系統呼叫是為使用者空間建立的一種控制硬體裝置的通道。比如控制串列埠的波特率,馬達的轉速等等。是使用者空間和核心空間進行通訊的方式之一。要實現乙個ioctl,需要使用者空間和核心空間兩方面的配合。如果想要乙個硬體支援ioctl,則要在其驅動函式中加入ioctl的實現,應用程式想要通過ioct...
初步理解socket
在學習socket之前,先回顧下tcp ip協議。tcp ip transmission control protocol internet protocol 即傳輸控制協議 網間協議,定義了主機如何連入網際網路及資料如何再它們之間傳輸的標準,從字面意思來看tcp ip是tcp和ip協議的合稱,但實...
SpringBoot AOP 初步理解
剛開始接觸spring的時候不可避免的會提到aop,網上一查,給你一句話就叫切面程式設計,個人在這裡提出下我自己的一些理解以及乙個例子 記得小時候在夏天的時候,有一次說風來吧風就來了,雨來吧雨就來了,而不需要我們去拿乙個吹風機製造風,或者製造雨。那麼aop就如同我們小時候想像的咒語一樣,說來就來,只...