Git问答

  1. Git如何获取代码

     git clone git@github.com:chenyc/SwiftGuide.git
    
  2. Git如何更新代码

     git fetch origin master
    

    或者

     git pull origin master
    

    origin 指代远程的分支
    master 指更新到的本地分支
    默认远程的origin,跟本地的分支名称是根据名称进行对应的,比如
    本地的master对应远程的remotes/origin/master

    pull 和 fetch的主要区别是:pull会在更新代码的时候跟本地的代码进行合并

  3. Git如何提交代码

     git push origin master
    

    origin 指代远程的分支
    master 指本地需要提交的分支

  4. 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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,718评论 4 54
  • 都说雨天容易思念,果然如此,翻翻相册,不禁红了眼眶… 我是真的真的很喜欢我的高中生活,同学,老师。多么想再有一次机...
    菜花的小青春阅读 612评论 7 2
  • 其实是想说,昨天的选择很重要!但昨天已经离我们而去了,再也不会给我们机会选择了!而能知道今天的选择很重要,也是源于...
    溺爱书香阅读 404评论 0 1
  • 我哥转身对我说:‘你看你刚才这段话可以说“是的-说yes And”’."Yes and "是我们在课程中学习的一种...
    周章阅读 221评论 0 0
  • 作为一个商学院的学生,我理所应当地认同着边沁的效用论。人之所以会做出某种选择,是因为主观上认为该选择所能带来的效用...
    顧一禾阅读 958评论 0 2