一、远程
      Git是分布式版本控制系统,最重要的优点就是远程仓库托管代码。不用自己搭建一个服务器,在github上面注册一个账户就可免费获取远程仓库。
     首先需要先在github上面创建仓库。创建步骤百度google都有。
     第一次推送的时候需要本地库关联远程库,使用命令git remote add origin git@server-name:path/repo-name.git
origin后面实际上是远程库的ssh地址。
     关联之后,使用命令git push -u origin master第一次推送master分支的所有内容。第一次的时候需要使用 -u,在此后的每一次推送的时候只需要git push origin master就可以了。
     
     当我们第一次开发项目的时候,我们需要从远程库获取别人的代码,这时候就需要从远程库克隆一个本地库。命令:

$ git clone git@github.com:michaelliao/gitskills.git
     clone后面是git远程库ssh的地址
     除了ssh地址之外,也可以使用https的地址。
 
二、分支管理
     git作为分布式版本控制系统,多线共同开发的优点体现在分支的管理上,所有的分支提交情况git的可视化工具都可以很清晰的看得到。git的分支提交和合并十分的快。关键在于分支的切换和合并。一般在一个团队合作的项目中,会创建一个主分支master,master主分支十分稳定,仅用来发布新版本,然后团队开发都在dev分支上,给每个开发者创建一个分支,各个开发者单独开发,互不影响,开发者时不时就將开发的功能合并到dev中,然后功能点足够发布一个新版本之后再将dev合并到master分支,这样master分支就具备了每个开发者的开发的功能。
  分支管理的流程如下:
     1、合并分支
     比如创建一个叫dev的分支,然后切换到dev分支
          创建分支
$ git branch dev
切换分支git checkout 不使用--的时候是指切换都某分支。
$ git checkout dev
查看所有分支
$ git branch
现在HEAD在dev分支上,然后在dev分支进行提交
$ git add <file>
$ git commit -m "new branch first commit"
这时dev分支的工作结束了,切换回master分支
$ git checkout master
然后这时候需要将dev的内容合并到master分支上
$ git merge dev
这时候就完成了一次分支合并,因为分支的创建和合并都很快,最好的建议是master合并完文件之后建议将其他分支删除掉,但是如果还在继续开发的话则不需要了。
删除分支
$ git branch -d dev
     2、分支冲突
          合并分支的时候总会出现冲突, 分支冲突的原因是两个分支同时做了各自的修改,在合并的时候git就会检测到合并位置出现了两种不同的修改,出现冲突的解决办法是在master修改好冲突文件,然后重新提交就可以了。多人协作冲突,当你要提交到dev的时候发现和其他人的文件修改冲突了,可以先git pull拉取下来,然后再本地合并,解决冲突后再推送。Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容。
          解决冲突之后可以使用git log命令查看分支合并情况。 

$ git log --graph --pretty=oneline --abbrev-commit

Git远程和分支管理的更多相关文章

  1. Git 远程仓库分支管理

    目录 目录 速查表 关联远程代码仓库 克隆远程仓库 分支管理 创建分支 切换分支 合并分支 删除分支 解决冲突 速查表 指令 作用 git branch 查看分支 git branch newBran ...

  2. python使用git进行版本控制-分支管理

    1.远程克隆 最好的方式是先创建远程库,然后,从远程库克隆: 首先在github上创建一个新的仓库,名字叫gitskills 我们勾选Initialize this repository with a ...

  3. git远程删除分支但本地git branch -a仍能看到解决

    git远程删除分支但本地git branch -a仍能看到解决 在gitlab页面删除分支 但是本地能可以看到 $ git branch -a br_dev br_to_delete * master ...

  4. Git如何进行分支管理?

    Git如何进行分支管理?     1.创建分支     创建分支很简单:git branch <分支名>     2.切换分支     git checkout <分支名>   ...

  5. Git 远程仓库的管理和使用

    要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某 个项目时,需要管理这些远程仓库 ...

  6. 史上最浅显易懂的Git教程3 分支管理

    假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险 ...

  7. 【Git教程】Git教程之分支管理

      在前一篇文章中,主要针对Git本地仓库和远程仓库的基本操作命令进行了简要介绍,本文主要集中介绍Git的另一个主要的特点:分支管理和多人协作. 什么是分支管理   当一个任务需要多人协作完成时,每个 ...

  8. git基本操作:分支管理

    一.创建测试项目 1.新建GitHub仓库 在GitHub上面新创建一个仓库,用来演示分支管理,如下图所示: 点击“Create repository”按钮创建新仓库. 2.将本地仓库项目上传到Git ...

  9. Git(3):分支管理

    Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作. 创建分支命令 $git branch <branch n ...

随机推荐

  1. VisualSVN-Server 安装以及使用教程

    VisualSVN Server是免费的(代码管理工具),VisualSvn Server是SVN的服务器端 官网下载地址 安装VisualSVN-Server示例: 下载完安装包后,以安装Visua ...

  2. Python内建的对象列表

    Python内建的对象列表 刚写Python肯定会遇到这样的情况,想写些什么,但又不知从何写起... 在我看来问题在于我们不知道有什么东东可以拿来玩,这里列出Python的内建对象,稍微归类了一下,多 ...

  3. try-catch和throw,throws的区别

    java里的异常多种多样,这是一种非常有用的机制,它能帮助我们处理那些我们未知的错误,在java里,关于异常的有throw throws,还有一个try catch 程序块.接下来我们挨个看看这几个的 ...

  4. hibernate(八) Hibernate检索策略(类级别,关联级别,批量检索)详解

    序言 很多看起来很难的东西其实并不难,关键是看自己是否花费了时间和精力去看,如果一个东西你能看得懂,同样的,别人也能看得懂,体现不出和别人的差距,所以当你觉得自己看了很多书或者学了很多东西的时候,你要 ...

  5. javaBean和jsp应用

    原网页:http://www.douban.com/note/102320977/ JavaBean是一种可复用,跨平台的组件.共有两种JavaBean:一种无用户界面,这种一般用于处理数据运算,操作 ...

  6. WebStorm 9 自动编译 LESS 产出 CSS 和 source maps

    1.双击桌面Chrome图标,打开Chrome,按键盘“F12”键,打开开发工具界面,点击其右上角的“设置”按钮,勾选“Enable JavaScript source maps”  及“Enable ...

  7. Bootstrap Magic – 轻松创建自己的 Bootstrap 主题

    Bootstrap Magic 是一款基于 Bootstrap 和 AngularJS 的主题创建工具.您可以轻松地创建您自己的 Twitter Bootstrap 主题,可以立即看到你的内容变化.您 ...

  8. iOS_UIImage_Gif的合成

    /** 1. 数据获取 2. 创建Gif文件 3. 配置Gif属性 4. 单帧添加到gif */ github地址: https://github.com/mancongiOS/UIImage.git ...

  9. Mac删除JDK

    安装了1.6以后,没有安装1.7发现Android Studio报错: invalid source release: JDK 1.7 原因是Android Studio需要1.7以上的版本,结果再次 ...

  10. MyBaits学习

    一:配置MyBaits的开发环境 1.1.核心配置文件 正如hibernate一样,MyBaits也有一个核心的配置文件,它包含着数据源地址,用户名,密码等,还有着各个实体类的配置文件,配置文件是xm ...