-
Git如何獲取代碼
git clone git@github.com:chenyc/SwiftGuide.git
-
Git如何更新代碼
git fetch origin master
或者
git pull origin master
origin 指代遠程的分支
master 指更新到的本地分支
默認遠程的origin,跟本地的分支名稱是根據(jù)名稱進行對應的,比如
本地的master對應遠程的remotes/origin/masterpull 和 fetch的主要區(qū)別是:pull會在更新代碼的時候跟本地的代碼進行合并
-
Git如何提交代碼
git push origin master
origin 指代遠程的分支
master 指本地需要提交的分支 -
Git如何創(chuàng)建分支
git checkout -b dev
或
git branch dev
5. Git如何切換分支
```bash
git checkout dev
```
6. Git如何解決沖突
當我們git pull下來和本地存在沖突的時候
```bash
git mergetool
```
mergetool需要配置默認的merge工具,
Windows下可以安裝TortoiseGit或TortoiseSVN的TortoiseMerge作為merge工具
TortoiseMerge需要在環(huán)境變量的PATH里配置,在終端上能夠訪問才能使用
> 默認Windows下的Git合并使用的TortoiseMerge,如果安裝的是TortoiseGit,需要把
TortoiseGitMerge改為TortoiseMerge
7. Git合并分支
```bash
git checkout master
git merge dev
```
合并dev到master分支
我們也可以只合并某一個commit
```bash
git cherry-pick commitid
```
commitid我們可以通過git log獲取到。
8. 多人協(xié)作,一般怎么使用Git
我們一般會建立兩個主分支,master分支和developer分支
* master分支: 代碼一直都是穩(wěn)定的,在每次發(fā)版的時候合并發(fā)版后的版本到master
* developer分支:代碼一直是最新的,每次有新功能都會合并到developer分支
* 多個feature分支:根據(jù)功能需要,我們可以在developer的基礎上fork出feature分支,
在feature分支代碼開發(fā)完成后,合并到developer分支
* 多個release分支: 需要發(fā)版的時候,在developer分支fork出release分支,
在release分支基本上只進行Bug Fix,等發(fā)版后,合并release分支到master和developer分支。
發(fā)版時,一般我們也會打一個tag。
一圖勝千言

圖片出處:http://nvie.com/posts/a-successful-git-branching-model/
#
>本文出處:[http://www.aswifter.com/2015/06/16/git-ask-question/](http://chenyc.gitcafe.io/2015/06/16/git-ask-question/)
>轉(zhuǎn)載請在開頭注明本文出處。
>歡迎關(guān)注我的微信公眾號,分享Swift開發(fā),Android 開發(fā)和互聯(lián)網(wǎng)內(nèi)容
>微信號:[APP開發(fā)者]()[](http://7xjq5l.com1.z0.glb.clouddn.com/aswifter.gif)