专栏首页代码世界Git和GitHub相关

Git和GitHub相关

组员从GitHub上下载项目并上传项目的步骤如下
    1.组员接收到组长发的项目地址,组员需要从GitHub上把项目克隆下来,首先组员
    需要在本地的一个文件夹里打开git,然后运行如下代码:git clone 项目地址

    2.克隆完成后,cd到项目文件里,这时你看到的是你在项目的master分支下;

    3.创建一个dev分支,代码:git branch dev

    4.切换到dev分支下,代码:git checkout dev

    5.把服务器远端的dev分支内容下载到本地的dev分支下,代码:git pull origin dev

    6.在本地创建一个自己的分支,代码:git branch gbb

    7.切换到自己的分支下,代码:git checkout gbb

    8.这时就可以在自己的分支下做开发编译了,编译完成后就可以再次上传GitHub上;

    9.先把新编译的内容添加到本地git库的暂存区,代码:git add . 或 git add *

    10、把本地git库的暂存区的内容添加到本地git版本库里,可以添加备注信息,
        代码:git commit –m “备注信息” (注意:备注信息尽量详细些)

  11、把本地自己的分支提交到远程版本库里,代码:git push origin gbb

  12、这时只是把自己的分支提交到远端服务器也就是GitHub上了,如果需要把
        自己的代码合并到远端服务器也就是GitHub上的dev分支的话,就需要如下的操作;

  13、切换到本地的dev分支中,代码:git checkout dev

  14、把自己的分支和本地的dev分支合并,代码:git merge gbb

  15、默认不需要处理冲突的时候,就把dev分支推到远端服务器的dev分支下,
        代码:git push origin dev

  16、一般情况下,在本地dev合并后,不能直接push到远端服务器的dev里,
        会报错的,因为除了第一个人push无问题,其他人push的时候都会遇到代码和其
        他人的代码有冲突的问题,这时就需要在push前,先把远端的dev拉下来,
        代码:git pull origin dev

  17、处理一下冲突,完成后,再次push到远端服务器的dev下即可,代码:
    git push origin gbb
                        

一、首先要明白Git和GitHub的关系

  Git是一个版本控制工具   GitHub是一个用git做版本控制的项目托管平台。

二、OK,我们具体再来谈一下Git的相关知识

  一、什么是Git?

 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

  二、Git的功能特性:

  从一般开发者的角度来看,git有以下功能:

    1、从服务器上克隆完整的Git仓库(包括代码和版本信息,例如)到单机上。

    2、在自己的机器上根据不同的开发目的,创建分支,修改代码。

    3、在单机上自己创建的分支上提交代码。

    4、在单机上合并分支。

    5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

    6、生成补丁(patch),把补丁发送给主开发者。

    7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,

       或者没有冲突,就通过。

    8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

  从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:

    1、查看邮件或者通过其它方式查看一般开发者的提交状态。

    2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

    3、向公共服务器提交结果,然后通知所有开发人员。

  三、Git的优缺点

  优点:

  1. 适合分布式开发,强调个体。
  2. 公共服务器压力和数据量都不会太大。
  3. 速度快、灵活。
  4. 任意两个开发者之间可以很容易的解决冲突。
  5. 离线工作。

  缺点:

  1. 资料少(起码中文资料很少)。
  2. 学习周期相对而言比较长。
  3. 不符合常规思维。
  4. 代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

  四、利用GitHub合作开发的一般流程

    首先需要组长给项目创建一个dev分支,然后把项目传送到GitHub上,这时GitHub上有两个分支(master和dev,master是Git初始化自己创建的),然后组长需要创建一个Organizations,

  之后把组员邀请到Organizations里,并授权给组员有“写”的权限。

组员从GitHub上下载项目并上传项目的步骤如下
    1.组员接收到组长发的项目地址,组员需要从GitHub上把项目克隆下来,首先组员
    需要在本地的一个文件夹里打开git,然后运行如下代码:git clone 项目地址

    2.克隆完成后,cd到项目文件里,这时你看到的是你在项目的master分支下;

    3.创建一个dev分支,代码:git branch dev

    4.切换到dev分支下,代码:git checkout dev

    5.把服务器远端的dev分支内容下载到本地的dev分支下,代码:git pull origin dev

    6.在本地创建一个自己的分支,代码:git branch gbb

    7.切换到自己的分支下,代码:git checkout gbb

    8.这时就可以在自己的分支下做开发编译了,编译完成后就可以再次上传GitHub上;

    9.先把新编译的内容添加到本地git库的暂存区,代码:git add . 或 git add *

    10、把本地git库的暂存区的内容添加到本地git版本库里,可以添加备注信息,
        代码:git commit –m “备注信息” (注意:备注信息尽量详细些)

  11、把本地自己的分支提交到远程版本库里,代码:git push origin gbb

  12、这时只是把自己的分支提交到远端服务器也就是GitHub上了,如果需要把
        自己的代码合并到远端服务器也就是GitHub上的dev分支的话,就需要如下的操作;

  13、切换到本地的dev分支中,代码:git checkout dev

  14、把自己的分支和本地的dev分支合并,代码:git merge gbb

  15、默认不需要处理冲突的时候,就把dev分支推到远端服务器的dev分支下,
        代码:git push origin dev

  16、一般情况下,在本地dev合并后,不能直接push到远端服务器的dev里,
        会报错的,因为除了第一个人push无问题,其他人push的时候都会遇到代码和其
        他人的代码有冲突的问题,这时就需要在push前,先把远端的dev拉下来,
        代码:git pull origin dev

  17、处理一下冲突,完成后,再次push到远端服务器的dev下即可,代码:
    git push origin gbb

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Git的常用命令

    git clone 命令默认的只会建立master分支,如果你想clone指定的某一远程分支(如:dev)的话,可以如下:

    新人小试
  • VS Code配置Go语言开发环境

    VS Code官方下载地址:https://code.visualstudio.com/Download

    新人小试
  • MYSQL之视图、触发器、存储过程、函数、事物、数据库锁和数据库备份

    一、视图 -- view 视图:是一个虚报表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。 视图有如下特点:   1.视图的列可以来自...

    新人小试
  • Jira 使用手册

    产品在做需求设计前,如果对需求有任何疑问/不清晰,可以提该调查任务类型。 开发人员在代码层面,调查业务逻辑!

    Isaac Zhang
  • git常用命令

    薛定喵君
  • Github,Gitlab简介及Git入门

    刚搬了家,房子还没有网,这篇文章是开着热点写的,求赞求赞。哈哈哈 如果到现在为止,你还没听过Git,或者用过Git,那建议尽早学习一下,因为很有用。虽然是做算法...

    用户1622570
  • 记录我学github的路程(三)

    2015-12-22 更新 一、Bug分支 1,假设如下场景,你正在dev分支工作,突然接到一个修复代号为101的bug的任务时,dev的东西还没不能提交,但是...

    xcywt
  • Xcode项目 Github连接协同开发研究和各种错误解决记载

    引:感觉现在Xcode sourceControl特别好用,以后再也不要单独下载git客户端了。

    ZY_FlyWay
  • 如何在IntelliJ IDEA 中使用 Git ?你会没...

    Git是目前流行的分布式版本管理系统。它拥有两套版本库,本地库和远程库,在不进行合并和删除之类的操作时这两套版本库互不影响。也因此其近乎所有的操作都是本地执行,...

    Java编程指南
  • Git从入门到速成

    Scott_Mr

扫码关注云+社区

领取腾讯云代金券