1. 程式人生 > >CornerStone使用跳坑總結(陸續更新)

CornerStone使用跳坑總結(陸續更新)

 

 

Cornerstone是專門為Mac使用者設計的Subversion(SVN)的控制,使版本控制更加透明.cornerstone根Xcode相比,能夠更好的忽略檔案,所以除了專案經理第一次初始化專案的時候需要用到cornerstone,其他時候用Xcode的source control的命令就可以進行原始碼的update和commit。

pojie版下載連結:提取碼:5hk5

問題: 
安裝後打開出現“Cornerstone.app 已損壞,打不開。您應該將它移到廢紙簍。”這並不是我們檔案的問題。

解決: 
在安全性與隱私中開啟任何來源就解決了。但是,在安全性與隱私中並沒有開啟任何來源這一選項。原來是10.12 後需要手動開啟任何來源。開啟方式如下:

開啟終端 ( 終端在 應用程式 - 實用工具內 ):如果你遇到問題:Mac的終端怎麼開啟?

輸入:sudo spctl –master-disable

會出現 Password: 這個提示, 你這個時候要輸入你的賬戶的密碼, 這個時候由於蘋果系統的隱私保護機制,你輸入的密碼不會顯示在終端上,但是系統已經正確輸入,輸入完按回車鍵就可以了。如果沒有密碼需要到系統偏好設定 - 賬戶 - 設定密碼. 不可以是空的密碼.. 然後你重啟電腦就會出現任何來源的選項了. (也不用重啟電腦,重啟設定即可);

SVN基本操作:

下載伺服器程式碼、修改原生代碼、提交原生代碼;

常見操作:

svn checkout

:將伺服器程式碼完整的下載到本地;

svn commit:將本地修改的內容提交到伺服器;

svn update:將伺服器最新程式碼下載到本地;

注意:

1.Checkout只需要做一次!之後每次的update之後都是最新的程式碼 改正自己的程式碼也要在這個檔案下面去修改,否則你的修改是在這邊接收不到的。

提醒:

每天下班前:commit“可執行版本”;

每天上班前:update前一天所有程式碼;

在Mac上,可以利用SVN圖形介面工具來管理原始碼,可以大大減小使用命令列的痛苦(有些操作使用命令列會比較繁瑣,比如解決衝突);

CornerStone常見圖示的含義:

  • A:add,新增
  • C:conflict,衝突
  • D:delete,刪除
  • M:modify,本地已經修改
  • G:modify and merGed,本地檔案修改並且和伺服器端進行合併
  • U:update,從伺服器更新
  • R:replace,從伺服器替換
  • I:ignored,忽略
  • 常見提示圖示: 黃色感嘆號(有衝突):
    --這是有衝突了,衝突就是說你對某個檔案進行了修改,別人也對這個檔案進行了修改,別人搶在你提交之前先提交了,這時你再提交就會被提示發生衝突,而不允許你提交,防止你的提交覆蓋了別人的修改。要解決衝突,如果你確認你的修改是無效的,則用TSVN還原你的修改就行了;如果認為你的修改是正確的,別人的提交是無效的,那麼用TSVN先標記為“解決衝突”,然後就可以提交了;如果你認為你的修改和別人的修改都有一部分是有效的,那麼你就把別人的修改手動合併到你的修改中,然後使用TSVN標註為“解決衝突”,然後就可以提交了。進入資料夾,尋找有黃色感嘆號的檔案,這些檔案就是發生衝突的地方,根據實際情況處理衝突
    米字號(有本地修改程式碼):
    --這是說明你有未提交的原生代碼。
    問好(新加入的資源):
    --這說明該檔案是專案中新增檔案資源,新增資源可以是檔案、圖片、程式碼等。
    紅色感嘆號(原生代碼與庫沒有保持一致):
    --這說明原生代碼跟庫上沒有保持一致,如果使用者想修復,可以將帶紅色感嘆號圖示檔案刪除,直接update即可。
    灰色向右箭頭(本地修改過)
    --原生代碼沒有及時上庫。
    藍色向左箭頭(SVN上修改過)
    --記得更新程式碼後修改,提交前跟svn對比習慣。
    灰色向右且中間有個加號的箭頭(本地比SVN上多出的檔案)
    --修改完記得跟svn保持一致
    藍色向左且中間有個加號的箭頭(SVN上比本地多出的檔案)
    --刪除該檔案後,再次更新,將svn上檔案全部更新下來。
    灰色向右且中間有個減號的箭頭(本地刪除了,而SVN上未刪除的檔案)
    --也就是說你刪除確認後,一定要記得上庫,跟svn保持一致
    藍色向左且中間有個減號的箭頭(SVN上刪除了,而本地未刪除的檔案)
    --比對svn庫上程式碼,確定需要刪除後,更新svn(刪除無用程式碼)。
    紅色雙向箭頭(SVN上修改過,本地也修改過的檔案 )
    --這個表示本地和svn上都修改過,最好就是把本地修改合併到svn,修改程式碼前最後先更新。
    版本回退
    本地版本回退: 右鍵選中對應的專案或者檔案,彈出選單中選中Revert
    提示你當前工程有一些修改,但是還沒提交,"Discard XXX"-點選後當前修改的內容會被取消,“Copy XXX”-點選會會先複製一份程式碼到廢紙簍
    點選 “Discard XXX”後,本地工程已更新至選擇的版本,如果想將伺服器上的也更新到選擇的版本,可以再commit。 伺服器版本回退:誤將錯誤的檔案上傳到了svn伺服器,回滾的辦法是: 1:svn merge -r100:99 . (注意有個點,表示當前路徑)
    2:svn ci -m “revert version” . (程式碼提交,實際上刪除之前誤傳的檔案)
    .a(庫檔案) 首先開啟軟體左上角 CornerStone-Preferences-SubVersion
    第一個地方把對號去掉,第二個地方把.a那個刪除,然後save。
    然後把你的.a檔案放到本地的相應資料夾下,
    但是 CornerStone(我的是v2.7.10 版本的) 裡相應資料夾下看不到帶問號的.a檔案的話,點選上邊 View-Show Ignored Items
    到這裡就ok了,選中你的靜態庫 點選底部Add 問號會變成A,然後就可以提交了。
    部分摘自原文:https://blog.csdn.net/u013705509/article/details/51382239