在Xcode中使用Git源代碼管理

Git允許您將版本控制嵌入到項(xiàng)目中。通過遍歷提交,您可以跟蹤所做的應(yīng)用程序版本以及在這些提交中所做的更改。

提交到存儲庫時,可以使用命令行。但這有點(diǎn)棘手。因此,您可以使用GUI進(jìn)行相同的操作。沒問題。

先決條件:

  • 對Git命令有一些基本了解

術(shù)語

Commit-概念上類似于當(dāng)前項(xiàng)目的保存或快照。您設(shè)置了一條有關(guān)已執(zhí)行的更改的消息,并保存了代碼的修訂版,您可以單擊一次隨時將其還原。提交使您可以隨時回到項(xiàng)目的此(命名)狀態(tài)。

Git:Git是一個分布式版本控制系統(tǒng),用于在軟件開發(fā)過程中跟蹤源代碼的更改。

Index - 這是您要提交到git存儲庫的文件放置位置。也稱為暫存區(qū)。

Repositories - Repositories 是一個文件位置,您可以在其中存儲當(dāng)前項(xiàng)目的所有相關(guān)文件。本地存儲庫位于系統(tǒng)上,遠(yuǎn)程Repositories (通常)位于遠(yuǎn)程計(jì)算機(jī)上。代碼項(xiàng)目可以包含多個帳戶中的多個存儲庫,但通常是單個帳戶中的存儲庫。建議將存儲庫(也稱為存儲庫)保持在1GB以下。

Working Directory - 文件系統(tǒng)中與存儲庫關(guān)聯(lián)的目錄。


Step-by-step

創(chuàng)建一個新的應(yīng)用程序

創(chuàng)建一個新的Single View App。

確保已選中“ 在我的Mac上創(chuàng)建Git”存儲庫復(fù)選框(如果未選中,則可以稍后通過Xcode中的“源代碼控制”菜單添加)。

查看源代碼管理導(dǎo)航器

源代碼管理導(dǎo)航器在屏幕的左側(cè):

在這種情況下,我已經(jīng)擴(kuò)展了文件夾,以便可以看到當(dāng)前的分支。


更改文件

您可以對文件進(jìn)行任何更改。我對ViewController.swift進(jìn)行了一些更改,并多次執(zhí)行了提交過程(如下所述),以創(chuàng)建多個提交。任何更改都會生效,打印命令或注釋或?qū)嶋H工作(無論您選擇什么)。

提交文件

您可以從Xcode屏幕頂部的源代碼控制菜單中選擇提交:

我的選擇文件已在屏幕左側(cè)修改,您可以看到對代碼進(jìn)行了哪些更改。

您甚至可以在屏幕左側(cè)更改代碼(如果進(jìn)行更改,該代碼將被帶入該文件的主編輯器中,因此即使您按取消,也不會丟失任何工作)。

Choosing individual changes

可以通過選擇屏幕中間的數(shù)字來進(jìn)行更改

然后,您可以為每個選項(xiàng)選擇放棄更改,或者

放棄更改也會在源文件中進(jìn)行更改,因此應(yīng)格外小心。

Branches

通常,您將在dev分支上工作,而在master分支上留下了您的App不斷發(fā)布的版本。

Xcode屏幕左窗格中的Source Control導(dǎo)航器使我們可以創(chuàng)建新分支。右鍵單擊提供菜單

然后我們可以從“ master”分支創(chuàng)建功能分支

此功能分支將自動成為當(dāng)前分支,如Source Control導(dǎo)航器中所示

在任何時候,我們都可以通過右鍵單擊切換分支,然后簽出您要使用的分支。請注意,無論何時提交,都將提交到當(dāng)前分支。

同樣,您可以放棄更改(返回到先前的提交)

查看提交

要查看您的提交,您可以單擊您的分支。現(xiàn)在,如果您已經(jīng)進(jìn)行了一些先前的提交,您將在屏幕中央看到它們。

右鍵單擊其中任何一個,您都可以簽出該特定的提交。

查看提交之間的差異

要查看提交之間的差異,請?jiān)谖募z查器中選擇您選擇的文件(在我的情況下,我對ViewController進(jìn)行了更改)。

現(xiàn)在選擇菜單項(xiàng):視圖>版本編輯器>顯示比較視圖

在屏幕底部,您可以選擇要選擇的兩個文件中的哪個

您可以單擊時鐘按鈕,然后選擇要與之比較的提交。這是查看已進(jìn)行更改的好方法!

還有其他選擇。您可以通過“視圖”>“版本編輯器”菜單項(xiàng)查看日志,作者視圖(向您顯示更改的地方)或我們已經(jīng)瀏覽過的比較視圖。替代方法是在比較視圖中選擇選項(xiàng)(在比較視圖中,屏幕右上角的箭頭)。

如果繼續(xù)使用比較視圖,我們可以看到可以回滾到該提交中的特定更改-通過選擇屏幕中間的數(shù)字并選擇放棄更改。


當(dāng)然,如果您進(jìn)行更改,則需要提交這些更改(這將更新您的更改記錄,以便團(tuán)隊(duì)中的每個人都可以看到您所做的更改)。

合并分支

這只有在有遙控器時才有意義。這里的想法是即使您同時也在與其他人一起處理文件。


創(chuàng)建repository

在github.com的右上角(假設(shè)您有一個帳戶:如果沒有,請先創(chuàng)建,然后繼續(xù)閱讀本指南)

創(chuàng)建一個名稱為XcodeRepo的repository:

創(chuàng)建此repository:

將現(xiàn)有repository推送到遠(yuǎn)程存儲庫

我們需要復(fù)制github存儲庫的位置。它顯示在屏幕中央

我的地址是(您的地址會有所不同?。?/p>

https://github.com/stevencurtis/XcodeRepo.git

您可以右鍵單擊“ Remotes”文件夾并添加現(xiàn)有的遙控器

然后可以將遙控器添加到對話框中-但請記住,您的位置將與我的不同!點(diǎn)擊添加...

然后轉(zhuǎn)到Source Control> Push…

然后,您可以選擇推送到功能分支。這將具有在遠(yuǎn)程存儲庫上創(chuàng)建功能分支的作用。

刷新Web瀏覽器存儲庫,您可以看到features分支已更新。

更改遠(yuǎn)程repository

然后,您可以在瀏覽器中遍歷到ViewController。然后,我們將通過選擇筆圖標(biāo)進(jìn)行更改。

并且在View中確實(shí)加載了新行的更改。我選擇打印“這是新行”

然后使用屏幕底部的按鈕提交更改。這些可以直接提交到功能分支。

更改Xcode源代碼

移到Xcode的ViewController中相同的viewDidLoad函數(shù)。

我們將輸入一個新行,但打印不同的內(nèi)容。

現(xiàn)在,我們可以通過“源代碼”控制菜單來提交此更改。我稱我的提交為我做。

現(xiàn)在,當(dāng)我們嘗試推送到遠(yuǎn)程服務(wù)器時,我們被告知我們的本地repository 已過時。

所以我們就這樣做,并通過Source Contro> Pull

Xcode提供了我們之前進(jìn)行提交時所看到的選項(xiàng)。但是,我們需要選擇是使用左側(cè)(本地更改)還是右側(cè)(遠(yuǎn)程更改)。

我將選擇遠(yuǎn)端(右側(cè))。

然后,拉動按鈕變?yōu)?,進(jìn)行更改。


結(jié)論:總結(jié)變更

然后,您需要提交合并更改,然后將其推送到遠(yuǎn)程。(盡管在這種情況下,我是從遠(yuǎn)程進(jìn)行更改的,所以沒有任何可推送的內(nèi)容。在Xcode中,您不會收到任何消息,因此,以防萬一,習(xí)慣這樣做是一種很好的做法)。


更多信息

這是其中一些功能宣布時的WWDC演示
https://developer.apple.com/videos/play/wwdc2017/405/

翻譯自:https://medium.com/@stevenpcurtis.sc/using-git-source-control-with-xcode-227b4dfe5eb7

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容