天天看點

iOS - Git 代碼版本管理1、Git2、Git 桌面化管理工具

Git 是用 C 語言開發的分布版本控制系統。版本控制系統可以保留一個檔案集合的曆史記錄,并能復原檔案集合到另一個狀态(曆史記錄狀态)。另一個狀态可以是不同的檔案,也可以是不同的檔案内容。舉個例子,你可以将檔案集合轉換到兩天之前的狀态,或者你可以在生産代碼和實驗性質的代碼之間進行切換。檔案集合往往被稱作是 “源代碼”。在一個分布版本控制系統中,每個人都有一份完整的源代碼(包括源代碼所有的曆史記錄資訊),而且可以對這個本地的資料進行操作。分布版本控制系統不需要一個集中式的代碼倉庫。

當你對本地的源代碼進行了修改,你可以标注他們跟下一個版本相關(将他們加到 index 中),然後送出到倉庫中來(commit)。Git 儲存了所有的版本資訊,是以你可以轉換你的源代碼到任何的曆史版本。你可以對本地的倉庫進行代碼的送出,然後與其他的倉庫進行同步。你可以使用 Git 來進行倉庫的克隆(clone)操作,完整的複制一個已有的倉庫。倉庫的所有者可以通過 push 操作(推送變更到别處的倉庫)或者 Pull 操作(從别處的倉庫拉取變更)來同步變更。

Git 支援分支功能(branch)。如果你想開發一個新的産品功能,你可以建立一個分支,對這個分支的進行修改,而不至于會影響到主支上的代碼。

1)Git 術語:

術語

定義

Repository:倉庫

一個倉庫包括了所有的版本資訊、所有的分支和标記資訊.在 Git 中倉庫的每份拷貝都是完整的。倉庫讓你可以從中取得你的工作副本。

Branches:分支

一個分支意味着一個獨立的、擁有自己曆史資訊的代碼線(code line)。可以從已有的代碼中生成一個新的分支,這個分支與剩餘的分支完全獨立。預設的分支往往是叫 master。使用者可以選擇一個分支,選擇一個分支叫做 checkout。

Tags:标記

一個标記指的是某個分支某個特定時間點的狀态。通過标記,可以很友善的切換到标記時的狀态。

Commit:送出

送出代碼後,倉庫會建立一個新的版本。這個版本可以在後續被重新獲得。每次送出都包括作者和送出者,作者和送出者可以是不同的人。

URL

URL 用來辨別一個倉庫的位置。

Revision:修訂

用來表示代碼的一個版本狀态。Git 通過用 SHA1 hash 算法表示的 id 來辨別不同的版本。每一個 SHA1 id 都是 160 位長,16 進制辨別的字元串。最新的版本可以通過 HEAD 來擷取。之前的版本可以通過 "HEAD~1" 來擷取,以此類推。

2)Git 常用指令:

全局配置

初始化代碼倉庫

檢視資訊

版本回撤

本地分支操作

遠端操作

3)Git 常見問題:

UserInterfaceState.xcuserstate 檔案頻繁更新

一次送出的檔案太大

iOS - Git 代碼版本管理1、Git2、Git 桌面化管理工具

git ssh失效解決辦法

GitHub Desktop is a seamless way to contribute to projects on GitHub and GitHub Enterprise.

Available for Mac and Windows.

下載下傳位址:

<a href="https://desktop.github.com">GitHub Desktop.app</a>

繼續閱讀