一、远程
      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. Java 多态——与C++的比较

    学习了Java和C++之后,由于长期不使用C++,而java的基础知识掌握不牢,现在已经搞不清java多态了.现在先来谈谈java多态,稍后有时间再更新C++的多态,并进行比较~ 一. Java的多态 ...

  2. CSS计数器

    使用CSS计数器就像使用变量一样. 它有以下几个属性: counter-reset 创建或重置计数器 counter-increment 增长计数器 content 生成内容 counter() 将计 ...

  3. select元素javascript常用操作 转

    /*------------------------------------------------------ *作者:xieyu @ 2007-08-14 *语言:JavaScript *说明:s ...

  4. 编译原理 LL1文法First集算法实现

    import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; import java.util.TreeMap ...

  5. SQL*Loader之CASE5

    CASE5 1. SQL脚本 [oracle@node3 ulcase]$ cat ulcase5.sql set termout off rem host write sys$output &quo ...

  6. Linux一块网卡添加多个IP地址

    环境: RHEL6.4 需求: Linux一块网卡添加多个IP地址 一.临时生效 1.1 网卡eth0添加一个IP地址 1.2 修改eth0:0的广播地址 二.永久生效 2.1 编辑ifcfg-eth ...

  7. 【Android】Android Camera原始帧格式转换 —— 获取Camera图像(一)

     概述: 做过Android Camera图像采集和处理的朋友们应该都知道,Android手机相机采集的原始帧(RawFrame)默认是横屏格式的,而官方API有没有提供一个设置Camera采集图像的 ...

  8. 【Android】Android应用安装失败及无法打开

    以下是我个人遇到过的APP无法安装的一些问题: 无法安装应用: 手机系统版本过低:不符合应用支持的最低版本.(比如应用只支持Android 4.0以上的手机,而手机是Android2.3的)解决方案: ...

  9. android布局文件中android:icon="?attr/menuIconCamera"找不到对应图标路径

    如 <item android:id="@+id/camera" android:title="Camera" android:icon="?a ...

  10. 最简明的JavaScript闭包解释

    最简明的JavaScript闭包解释 JavaScript是这几年最火的编程语言之一,从前端到服务器端,再到脚本,好像没有一个地方没有JavaScript的身影.这个世界上任何的一种事物的存在必然有其 ...