SVN初步理解

2021-07-14 01:10:23 字數 1357 閱讀 6723

問題二 : 衝突

問題描述:

為了解決超時問題,只能更新.而在更新過程中,如果幾個人修改了同一檔案的同一行**,此時就會產生衝突。

產生原因:版本控制器不會那麼智慧型, 去決定應該使用誰的**作為最終**,只能將選擇權拋給使用者,讓使用者解決。

系統提供三種解決方案:

(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就如同我們小時候想像的咒語一樣,說來就來,只...