[iOS]Xcode+GitHub遠程代碼托管(GIT, SVN)實用

先來看看什么是代碼遠程托管: 其實就是將我們的代碼上傳到GitHub的服務器上, 供別人下載, 當然了也可以在團隊開發的時候, 使用GitHub進行代碼合并工作, 下面我們進入正題

(已經有遠程倉庫的網址, 請直接跳轉到2.0步驟查看)

(工程是從遠程倉庫拉取下來的, 并且寫好了代碼后, 不會進行拉取/推送, )

忠告: 進行拉取, 推送之前最好備份一下你的代碼

Git方式 -> 步驟3.0

SVN方式 -> 步驟4.0

Git回滾->? 步驟5.0

SVN回滾-> 步驟6.0

步驟1.0 創建遠程倉庫

這里我們使用https://github.com(github現在支持GIT和SVN2種訪問方式) (可能公司有自己的服務器, 會給你一個網址)(如果想只是使用SVN的, 推薦一個svn999.com)

1.1 我們需要注冊

1.1注冊登錄.png

約束比較多, 賬號和郵箱啊, 密碼之類的, 如果有一個不符合人家規定, 就會跳轉到一個頁面, 會告訴你哪個不行, 修改之后, 顯示對號了, 之后繼續sign up(注冊), 然后注冊好之后, 重新進入到https://github.com

1.2登錄成功后.png

1.2 創建遠程倉庫

然后點擊右上角+號, 新建個項目(遠程倉庫)

1.3新建項目(遠程倉庫).png

1.4新建項目.png

獲取遠程倉庫的網址

1.5獲取倉庫網址.png

2.0 在Xcode中進行代碼克隆(下載)到本地

2.0打開Xcode準備拉取.png

然后輸入遠程倉庫的網址

2.1輸入遠程倉庫的網址.png

設置和遠程倉庫交互的方式(用GIT還是SVN)(根據你遠程倉庫網址的類型, 如果是既支持GIT也支持SVN那就無所謂, 但是只支持其中一種方式, 那就不要選錯了, 當然了, 賬號密碼也是要對應哪個網站, 或者服務器的)

2.2設置和遠程倉庫交互的方式(用GIT還是SVN).png

如果點擊Next錯誤了: 看看是不是這個

設置本地倉庫位置

2.3設置本地倉庫的位置.png

2.4進行克隆(下載).png

成功后, 就會自動打開你克隆(下載)的工程

2.5 下載成功.png

步驟3.0 如何使用Xcode自帶的Git進行代碼的提交, 拉取, 推送

壯士:這里有碗湯你先喝了, 我們先來看下原理:參考這個鏈接:http://www.lxweimin.com/p/0582e1908c22可見, 我們需要做以下3步:

Commit操作:

解釋: 先把Xcode工作區(你寫的代碼), 提交到本地倉庫),

Pull操作:

解釋: 然后從遠程倉庫拉取代碼(可能別人剛傳了別人寫的, 你需要拉下來和你新寫的合并一下), 然后在本地倉庫合并后, 保證編譯, 運行無錯誤后.

Push操作:

解釋: 在進行將本地倉庫你的代碼推送到遠程倉庫上面.讓團隊里別的人可以進行下載

3.1 Commit操作

打開工程后, 看這里有個Source Control

點開我們來說一下

然后當你修改了代碼后,? 修改過的文件都是顯示M

然后我們點擊Source Control 菜單, 選擇Commit(提交, 把Xcode工作區的變更提交到本地倉庫)

然后點擊commit按鈕之后,? M標志沒了就代表提交變更已經到本地倉庫啦, 但是不是遠程倉庫哦, 別人還不能拿到你新寫的代碼!!(慶祝一下, 成功一小步)

'

3.2 Pull(拉取)操作

點開Source Control 然后執行Pull操作

這個時候, 可能會出現警告提示, 如圖:(如果沒出現直接略過)

// 你有本地變更沒有提交到本地倉庫, 不讓你去拉取代碼

但是明明我們都Commit過了啊, 這是因為, 有一個配置文件實時的刷新(就是剛才沒勾選那個), 那么我們只有刪除它啦!

刪除這個配置文件

進入終端

利用cd命令進入到我們工程所在的文件夾, 如圖:

如圖:

然后運行命令:

解釋下參數

git rm --cached 工程名.xcodeproj/project.xcworkspace/xcuserdata/電腦用戶名.xcuserdatad/UserInterfaceState.xcuserstate

例如:

git rm --cached php.xcodeproj/project.xcworkspace/xcuserdata/lidongxu.xcuserdatad/UserInterfaceState.xcuserstate

然后輸入完命令, 回車運行

然后重新拉取, (或者你沒出現警告, 應該是這樣的)

點擊Pull按鈕之后, 就會把遠程倉庫的代碼拉到本地了, 然后運行下吧看看有沒有錯誤啊, 沖突之類的(如果有沖突, 就是商量下, 用誰的)

然后繼續點擊Pull按鈕拉取代碼

步驟3.3 Push(推送代碼)到遠程服務器

還是一樣, 打開Source Control 然后點擊Push

然后點擊Push

然后點擊Push按鈕, 如果你是第一次配置, 可能會讓你輸入遠程倉庫網站對應的登錄賬號和密碼

然后顯示正在change, 等待一會兒

下面這個會一閃, 然后自己消失的哦!

然后怎么看我們是否正在把本地倉庫代碼推送到了遠程服務器上, 看一下我們對應的網站

以上就是我們Git的基本使用過程

4.0 SVN使用方式

先來解釋下Source Control 里不同的地方

然后現在我們編寫完代碼之后:

4.1 我們要拉取(update)遠程倉庫的代碼

如果你不拉取, 就直接推送, 很可能把遠程倉庫里別人代碼覆蓋掉, 所以一定要先拉取

4.2然后確認沒有錯誤之后, 然后提交(Commit)到遠程倉庫,

這個Commit跟Git中的可不一樣哦!

4.3彈出這個界面, 選擇你要推送的代碼

這樣, 我們SVN就基本使用過程

有的時候, 我們代碼合亂了, 或者需要穿越回到昨天的那個代碼樣式怎么辦? 不要怕. 代碼版本管理就是為了方便我們的. 往下看

5.0 Git回滾本地代碼

進入到我們本地倉庫目錄下

cd 倉庫文件夾路徑

然后我們可以看一下, 項目中代碼現在是什么樣子(這里就隨便寫了2個變量)

然后提交到本地倉庫, 拉取代碼合并, 推送到遠程服務器, 現在遠程服務器有版本0, 版本1 和版本2的代碼了(本地是版本2的), 現在我想

讓本地代碼進行回滾.

5.1 查看我們提交的記錄

輸入命令? git log --pretty=oneline

5.2 git reset --hard HEAD^

HEAD^回滾上次提交 (取消剛才的提交)

HEAD^^ 回滾到上次的上次的提交

輸入命令運行.

HEAD is now at d490df9 (本地代碼變成上次提交的時候的樣子了)

6.0 SVN回滾代碼

現在代碼是這樣的.

6.1 先進入到本地倉庫下

6.2 查看我們的提交記錄

輸入命令 svn log

每個r后面的數字 就是一次提交的記錄

6.3 回滾到某次提交的時候的代碼的樣子

svn update -r 數字? (數字就是那個6 5 4 3 2 1)

根據自己電腦上的數字自己選擇

這里我們回滾到最初的狀態

完成之后打開代碼查看

最后送個福利:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000

文/M_Lee(簡書作者)

原文鏈接:http://www.lxweimin.com/p/300f8fd043c5

著作權歸作者所有,轉載請聯系作者獲得授權,并標注“簡書作者”。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容