-
Git如何获取代码
git clone git@github.com:chenyc/SwiftGuide.git
-
Git如何更新代码
git fetch origin master
或者
git pull origin master
origin 指代远程的分支
master 指更新到的本地分支
默认远程的origin,跟本地的分支名称是根据名称进行对应的,比如
本地的master对应远程的remotes/origin/masterpull 和 fetch的主要区别是:pull会在更新代码的时候跟本地的代码进行合并
-
Git如何提交代码
git push origin master
origin 指代远程的分支
master 指本地需要提交的分支 -
Git如何创建分支
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需要在环境变量的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. 多人协作,一般怎么使用Git
我们一般会建立两个主分支,master分支和developer分支
* master分支: 代码一直都是稳定的,在每次发版的时候合并发版后的版本到master
* developer分支:代码一直是最新的,每次有新功能都会合并到developer分支
* 多个feature分支:根据功能需要,我们可以在developer的基础上fork出feature分支,
在feature分支代码开发完成后,合并到developer分支
* 多个release分支: 需要发版的时候,在developer分支fork出release分支,
在release分支基本上只进行Bug Fix,等发版后,合并release分支到master和developer分支。
发版时,一般我们也会打一个tag。
一图胜千言
![](http://upload-images.jianshu.io/upload_images/18501-6274eae3b22357e0.png)
图片出处: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/)
>转载请在开头注明本文出处。
>欢迎关注我的微信公众号,分享Swift开发,Android 开发和互联网内容
>微信号:[APP开发者]()[![](http://7xjq5l.com1.z0.glb.clouddn.com/aswifter.gif)](http://7xjq5l.com1.z0.glb.clouddn.com/aswifter.gif)