iOS開發那些事-Git在Xcode中的配置與使用常見問題總結

來源:互聯網
上載者:User

書接上回提出的Git在Xcode中的配置與使用常見問題4個問題

 

問題1,如何在Xcode中建立程式碼程式庫,並添加和提交代碼到程式碼程式庫?

問題2,如何在Xcode中提交推送給遠程伺服器程式碼程式庫?

問題3,如何在Xcode中複製遠程伺服器程式碼程式庫到本地?

問題4,如何使用Xcode擷取遠程程式碼程式庫資料,並解決衝突問題?

 

1、問題1

建立程式碼程式庫有兩種方式,一種是建立工程時候建立,另一種是把現有的工程拷貝到程式碼程式庫下,再初始化程式碼程式庫。

如果是建立工程時候建立,在儲存檔案時候可以選擇是否建立,如果勾選“Create local git repository for this project”,則就會為工程建立程式碼程式庫。

 

注意Xcode 4產生的目錄結構如下:

1  HelloWorld

2 ├── HelloWorld

3 │   ├── …

4 │   ├── ViewController.h

5 │   ├── ViewController.m

6 │   ├── en.lproj

7 │   │   ├── InfoPlist.strings

8 │   │   └── MainStoryboard.storyboard

9 │   └── main.m

10└── HelloWorld.xcodeproj

11│

12└──.git

第一行的HelloWorld是工程目錄也是程式碼程式庫的根目錄,第二行的HelloWorld目錄是存放來源程式目錄。而我們以前的目錄結構與此不同,目錄結構如下所示:

1  myrepo

2└── HelloWorld

3│   ├── HelloWorld

4│   │   ├── …

5│   │   ├── ViewController.m

6│   │   └── main.m

7│   └── HelloWorld.xcodeproj

8└──.git

第一行myrepo是程式碼程式庫的根目錄,第二行的HelloWorld是工程目錄,這樣的結構可以一個程式碼程式庫可以放置多個工程,是一對多的關係,而Xcode產生的方式是程式碼程式庫就是工程目錄,它們是一對一的關係。

如果我們還是採用一對多的關係,就不用在建立工程的時候勾選“Create local git repository for this project”選項了。這就需要將現有的HelloWorld工程拷貝到myrepo目錄,在終端中執行如下命令:

$ cd ~/myrepo

$ git init

Initialized empty Git repository in  ~/.git/

初始化完成之後在添加並提交HelloWorld工程,在終端中執行如下命令:

$ git add .

$ git commit -m ‘tony init’

[master (root-commit) 98d7e4a] tony init

10 files changed, 643 insertions(+)

create mode 100644 HelloWorld/HelloWorld.xcodeproj/project.pbxproj

create mode 100644 HelloWorld/HelloWorld/AppDelegate.h

create mode 100644 HelloWorld/HelloWorld/AppDelegate.m

create mode 100644 HelloWorld/HelloWorld/HelloWorld-Info.plist

create mode 100644 HelloWorld/HelloWorld/HelloWorld-Prefix.pch

create mode 100644 HelloWorld/HelloWorld/ViewController.h

create mode 100644 HelloWorld/HelloWorld/ViewController.m

create mode 100644 HelloWorld/HelloWorld/en.lproj/InfoPlist.strings

create mode 100644 HelloWorld/HelloWorld/en.lproj/ViewController.xib

create mode 100644 HelloWorld/HelloWorld/main.m

然後就可以在Xcode中代碼這個工程了。我們修改並儲存檔案後,會看到在導航面板中檔案的後面有一個“M”表徵圖,這說明檔案修改了但沒有提交。

 

如 果只是想提交選中的檔案,可以是右鍵菜單Source Control→Commit Selected Files…,其中的Source Control菜單都是有關代碼控制的。如果想提交全部的修改檔案,可以菜單File→Source Control→Commit…。然後會彈出對話方塊。

 

其中有兩個代碼視窗,左邊是本地未提交版本,右邊是程式碼程式庫中的版本,這裡可以比較看看修改了哪些內容。在下面輸入框中添加註釋,點擊提交按鈕就可以提交了。

2、問題2

本地有程式碼程式庫提交推送給遠程伺服器程式碼程式庫,在Xcode中可以通過菜單File→Source Control→Push…進行推送,但是如果是第一次訪問,會出現對話方塊,沒有可以推送的遠程伺服器程式碼程式庫名。

 

我 們需要建立這個名字,在命令列中我們是通過$ git remote add hw git@192.168.1.108:myrepo建立的,其中hw就是這個名字。在Xcode中可以通過菜單Window → Organizer,選中Repositories→myrepo→Remotes,點擊左下角的“Add Remote”按鈕,彈出對話方塊,在Remote Name項目中輸入remote_repo,Location項目中輸入git@192.168.1.108:myrepo,完成之後點擊Create按 鈕建立這個名字。

 

建立完成再重新推送,如果彈出對話方塊,Push按鈕是可以點擊的,點擊Push按鈕推送。

 

3、問題3

這 個問題是從伺服器程式碼程式庫複製到本地,首先需要在Xcode中添加一個遠程程式碼程式庫,需要通過菜單Window → Organizer進入到Repositories畫面,點選左下角的“+”按鈕,選擇Add Repository,在Location項目中輸入git@192.168.1.108,Type項目選擇Git,Name項目會自動添加,如果 Authentication required為變為黃色小點,說明配置串連沒有問題,然後點擊Add按鈕建立。

如果建立成功,就會出現在左邊程式碼程式庫列表中,請選擇剛才建立的程式碼程式庫,然後選擇下面的Clone按鈕,並選擇本地儲存位置。

 

4、問題4

如果伺服器代碼有新的版本,擷取遠程程式碼程式庫資料到本地,可以通過菜單File→Source Control→Pull…。然後會彈出對話方塊。選擇Choose按鈕就可以擷取新的版本了。

如果這個過程中有衝突發生,會彈出對話方塊在兩個代碼視窗中可以看到它們的衝突點,

下面的4個按鈕,可以把衝突點進行合并,並進行編輯。如果沒有衝突,Pull是可以點擊,點擊Pull按鈕就可以了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.