iOS原始程式碼控制git

來源:互聯網
上載者:User

標籤:

01. GIT簡介 

git是一款開源的分布式版本控制工具

在世界上所有的分布式版本控制工具中,git是最快、最簡單、最流行的

 

git的起源

作者是Linux之父:Linus Benedict Torvalds

當初開發git僅僅是為了輔助Linux核心的開發(管理原始碼)

 

git的現狀

在國外已經非常普及,國內並未普及(在慢慢普及)

越來越多的開源項目已經轉移到git

02. GIT在本地的操作

01. GIT命令列協助

$ git help

查看git所有命令的協助

 

$ git help 子命令

# 要退出協助資訊,按"q"

# 翻看下頁,按"空格"

# 翻看上頁,按"CTRL+B"

# 要搜尋相關文字,按"/"然後輸入"相關文字"

02. 建立程式碼程式庫 & 配置個人資訊

1>  建立代碼倉庫

$ git init

 

2>  配置使用者名稱和郵箱

$ git config user.name manager

$ git config user.email [email protected]

* 以上兩個命令會將使用者資訊儲存在當前代碼倉庫中

 

3>  如果要一次性配置完成可以使用一下命令

$ git config --global user.name manager

$ git config --global user.email [email protected]

* 以上兩個命令會將使用者資訊儲存在使用者目錄下的 .gitconfig 檔案中

 

4>  查看當前所有配置

$ git config -l

03. 實際開發

1>  建立代碼,開始開發

$ touch main.c

$ open main.c

 

2>  將代碼添加到程式碼程式庫

# 查看當前程式碼程式庫狀態

$ git status

# 將檔案添加到程式碼程式庫

$ git add main.c

# 將修改提交到程式碼程式庫

$ git commit -m "添加了main.c"

 

提示:

*   在此一定要使用 -m 參數指定修改的備忘資訊

*   否則會進入 vim 編輯器,如果對vim不熟悉,會是很糟糕的事情

 

# 將當前檔案夾下的所有建立或修改的檔案一次性添加到程式碼程式庫

$ git add .

 

3>  添加多個檔案

$ touch Person.h Person.m

$ git add .

$ git commit -m "添加了Person類"

$ open Person.h

$ git add .

$ git commit -m "增加Person類屬性"

 

* 注意 使用git時,每一次修改都需要添加再提交,這一點是與svn不一樣的

04. 別名 & 日誌

$ git config alias.st status

$ git config alias.ci "commit -m"

 

除非特殊原因,最好不要設定別名,否則換一台機器就不會用了

 

# 查看所有版本庫日誌

$ git log

# 查看指定檔案的版本庫日誌

$ git log 檔案名稱

 

# 配置帶顏色的log別名(這是一個很好用的查看版本的工具)

git config --global alias.lg "log --color --graph --pretty=format:‘%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset‘ --abbrev-commit"

05. 版本號碼,讓我們在任意版本之間穿梭

# 回到目前的版本,放棄所有沒有提交的修改

$ git reset --hard HEAD

# 回到上一個版本

$ git reset --hard HEAD^

# 回到之前第3個修訂版本

$ git reset --hard HEAD~3

# 回到指定版本號碼的版本

$ git reset --hard e695b67

 

# 查看分支引用記錄

$ git reflog

03. GIT在團隊開發的操作

01. 建立代碼倉庫(專門用於團隊開發的代碼倉庫)

# 切換目錄

$ cd /Users/Desktop/公司/weibo

# 建立空白程式碼程式庫(專門用於團隊開發)

$ git init --bare

02. 專案經理準備項目(前奏)

# 切換目錄

$ cd /Users/Desktop/經理

# "複製"程式碼程式庫到本地

$ git clone /Users/Desktop/公司/weibo/

 

# 個人資訊配置

$ git config user.name manager

$ git config user.email [email protected]

 

.gitignore

--------------------------------------------------------------------------------

.gitignore可以指定哪些檔案不納入版本庫的管理

參考網址:https://github.com/github/gitignore

# 命令列中進入與.git同級的目錄

$ cd /Users/Desktop/git演練/經理/weibo

 

將以下命令一次性粘貼到命令列中

--------------------------------------------------------------------------------

echo -e "# Xcode

#

build/

*.pbxuser

*.mode1v3

*.mode2v3

*.perspectivev3

xcuserdata

*.xccheckout

*.moved-aside

DerivedData

*.hmap

*.ipa

*.xcuserstate

# CocoaPods

#

# We recommend against adding the Pods directory to your .gitignore. However

# you should judge for yourself, the pros and cons are mentioned at:

# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control

#

# Pods/" > .gitignore

--------------------------------------------------------------------------------

# 將.gitignore添加到程式碼程式庫

$ git add .gitignore

 

03. 建立項目

1. 使用Xcode建立項目到之前的經理的項目目錄中

2. 使用Xcode提交代碼,並且push到遠程

 

04. 新人加入

1. 把項目clone本地

    git clone 遠程倉庫地址  

2. 配置使用者

  #$ git config user.name ssd

  #$ git config user.email [email protected]

3. 添加Person類

4. Xcode中提交代碼commit + push

5. 更新代碼 pull

 04.開發中使用git的建議

1. 建立一個使用者測試檔案夾

2. 把公司項目git clone svn checkout 下來,如果是git 就把.git隱藏檔案夾刪除,如果是SVN就把.svn隱藏檔案刪除. 目的脫離與公司伺服器串連

3. git init 建立一個本倉庫

4. git add . 把項目添加到本地暫存區

5. git commit -m "初始化本地倉庫"

這樣你就可以在公司代碼上愉快的玩耍了!!!

iOS原始程式碼控制git

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.