在实际的项目开发过程中,多人进行项目开发,需要涉及到代码管理和协同管理。这就需要使用到代码协同管理工具。在过去,大家都熟悉使用的是SVN软件,而现在Git代码仓库管理软件的使用更为广泛。在本系列实战项目中,我们模仿实际项目的开发流程,对已经完成的项目代码使用git软件进行管理,以记录我们每次提交的内容和项目开发过程。

Git账户注册和Git仓库创建

Git简介

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是Linux系统之父Torvalds为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git功能及特点

现在,无论大小团队或者公司大型项目管理团队,开发人员熟练掌握git操作,进行代码管理已经成为了一种必要掌握的知识和技能。git的功能和特点有以下所列选项:

  • 从服务器上克隆数据库(包括代码和版本信息)到单机上。

  • 在自己的机器上创建分支,修改代码。

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

  • 在单机上合并分支。

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

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

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

  • 一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。 之所以git能够在程序员界受到欢迎,与其操作简单方便灵活,适合分布式开发的优点密不可分,同时,还支持离线工作,任意的开发人员之间都很容易解决冲突。这些明显的优点使得Git在程序员群体中快速被学习和扩散。

Github账户注册

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。Github可以为开发者提供项目代码托管服务,目前已经是最大的开源软件平台之一。2018年6月,微软收购了Github。 本系列课程内容,我们将使用github作为我们项目代码的托管平台。因此,首先,我们需要注册github账号。 Github地址:https://github.com/

如上图,填写用户名,密码,确认密码后即可进行注册。已经有账号的同学可以直接登录:https://github.com/login

Git账户配置

由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key。

  • 1、在本地电脑环境中创建SSH Key。生成SSH Key可以通过ssh命令进行生成,生成命令如下:

    ssh-keygen -t rsa -C "youremail@example.com"

    输入上述命令后按回车,要求输入一个密语字符串,可以直接回车表示没有密语,接着会让输入2次口令,同样回车按键。最终会执行完毕,执行完毕后,应该在本地机器可以找到两个文件,分别是id_rsa、id_rsa.pub文件。windows系统下两个文件的位置在[c盘>用户>自己的用户名>.ssh]目录下已经生成好了;macOS系统下面,在系统用户目录下有.ssh目录中,也有id_ras和id_rsa.pub两个文件。这里仅列出macOS目录下的文件截图: 

  • 2、打开已经登录的github,打开setting -> SSH Keys,点击右上角New SSH Key,把第一步生成的两个文件中的其中一个id_rsa.pub内容放入到输入框中,并为该ssh key命名。 配置成功,会在SSH Keys列表中展示出来。

创建仓库

可以通过创建新的仓库来进行代码仓库的创建,方便我们后续使用该仓库来进行代码管理。如下图: 然后填写仓库名称,描述,是否是私有等选项内容,最后点击创建。 接下来,我们就可以通过命令来进行仓库代码的操作。

Git命令使用进行代码管理

本地项目端的操作

  • 创建项目仓库 进入到项目根目录,使用git init命令来初始化该项目,使整个项目变为一个git管理的项目。

      git init
  • 本地提交项目代码 之前我们搭建项目架构、进行项目配置,并开发完成的管理员登陆功能,代码开发已经进入正轨。因此,我们有必要每开发完成一个小功能,就提交一次我们的代码,以达到能够实时跟踪并保存我们的项目代码的目的。在git中,将已经开发完成的代码提交到仓库需要两个步骤:第一个步骤是将代码提交到本地,第二步是推送到远端仓库,在我们这个系列课程中的远端仓库就是我们在github上已经创建的仓库。 首先,我们来看第一步,将代码提交到本地。这一步骤需要使用commit命令,具体命令如下:

      git add .
    git commit -m "本次提交的文字说明,如添加了哪些功能代码,修改了哪些代码等"

    如上命令所示,首先通过add命令指定要提交哪些文件,"."表示提交所有变更的文件;commit有一个-m参数供开发者添加代码提交的说明。

  • 查看本地git状态 在本地git项目目录下,可以通过status命令来查看当前项目文件的状态。

git status

红色表示自上次提交以后,有过内容修改的文件。该命令在我们开发过程中使用非常频繁。

添加远端仓库

按照上述操作,我们已经完成了本地的git项目操作,接下来就是将代码推送到远端github仓库的操作步骤。

  • 首次推送添加远端仓库分支 当我们推送代码到远端仓库时,我们需要进行知道远端仓库的分支地址,首次推送前,我们首先需要进行远端分支添加。添加远端分支的命令如下:

      git remote add origin https://github.com/yuxinburen/qianfengCmsProject.git

    该远端分支添加绑定操作,只需要操作一次即可。

  • 执行推送命令 在远端分支绑定完成以后,我们就可以使用push命令将仓库代码推送到远端,具体命令如下:

git push -u origin master

  • github查看仓库推送代码 推送结束后,可以在github中创建的仓库中看到我们推送成功的代码,如下图所示: 

本节内容,我们带大家学习了如何将自己开发的代码进行仓库管理,提交推送等的命令操作。在实际开发过程中,都是最基础的技能,大家务必要掌握。

Go语言在线培训哪里好?Git操作和代码管理的更多相关文章

  1. 使用Git操作GitHub代码入门教程

    GitHub除了网页操作外,还可以借助本地客户端git(或github for windows)来增删修改远程代码.使用Git操作来连接GitHub可以通过Https或SSH方式,使用SSH方式可以免 ...

  2. [Git] 谷歌的代码管理

    copy from : http://www.ruanyifeng.com/blog/2016/07/google-monolithic-source-repository.html https:// ...

  3. GIT: 分布式开发 代码管理工具使用命令大全

    代码管理工具: GIT     什么是GIT? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常 ...

  4. 使用Faric+Git进行分布式代码管理

    Fabric是一个Python库,可以通过SSH在多个host上批量执行任务. 可以通过编写任务脚本,然后通过Fabric在本地就可以使用SSH在大量远程服务器上自动运行. 这些功能非常适合应用的自动 ...

  5. GIt如何进行代码管理

    一:Git账号设置(仅第一次需设置): 1.首先打开GIt  Bash  界面

  6. git subtree模块化代码管理

    Git Subtree 的原理 首先,你有两个伟大的项目——我们叫他P1项目.P2项目,还有一个牛逼的要被多个项目共用的项目——我们叫他S项目.我们通过简要讲解使用Subtree来同步代码的过程来解释 ...

  7. 使用Git Bash进行代码管理

    前提是已经安装了GitBash,这个稍后再出教程 1.新建一个目录,存放下载下来的项目,我在D盘新建了一个“gitspace”文件夹,用来存放下载下来的项目 2.进入刚刚新建的文件夹,即进入“gits ...

  8. 软工实践练习一——使用Git进行代码管理心得

    在github.com的操作 注册 创建Organization 将指定代码库fork到小组Organization下 在Organization下创建repository 这些操作在学校的机房已经完 ...

  9. 使用GIT进行源码管理——GIT托管服务

    虽然GIT是分布式代码管理,但是仍然需要一个集中存储服务以实现团队协作和代码备份的.对于企业的私有代码来说,大多是自建GIT托管服务.但对于开源项目和个人的私有项目,往往是选择一个GIT托管网站,这样 ...

随机推荐

  1. JSF通过超链接传递参数到控制层

    JSF通过超链接传输数据到控制层可以分为三个步骤: 1.首先将数据加入到超链接中.通过<h:link>标签加入一个超链接,然后加入<f:param>标签加入参数.示例代码如下: ...

  2. 西安电子科技大学第16届程序设计竞赛 F Operating System (unique() 去重函数)

    链接:https://www.nowcoder.com/acm/contest/107/F来源:牛客网 Operating System 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ ...

  3. Pythonb编码规范

    本编码规范是对知道创宇研发技能表中提供的PythonCodingRule.pdf文档进行凝练和总结出来的结果,感谢知道创宇的Geek精神与分享精神 此规范较为严格,严格规定了编码格式和命名规则,仅适于 ...

  4. wpf数据验证实例及常用方法小结

    虽然标题是wpf数据验证,但并不是对IDataErrorInfo.ValidationRule.属性中throw Exception这几种验证方式的介绍: 之前做项目时(例如员工工资管理),根据员工编 ...

  5. 3D柜体导出CAD优化参考方案

    前言: 近期在做系统柜和衣柜导出CAD的工作,现阶段的工作是根据不同的厂商定制不同的CAD导出,其中房间平面图.顶脚线截面图.柜体立面图.侧视图.平面图.门板图等模块功能都基本固定,不同的是不同厂商的 ...

  6. DAY11-MYSQL数据操作

    一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...

  7. 在JAVA中,String,Stringbuffer,StringBuilder 的区别

    首先是,String,StringBuffer的区别 两者的主要却别有两方面,第一是线程安全方面,第二是效率方面 线程安全方面: String  不是线程安全的,这意味着在不同线程共享一个String ...

  8. day69-oracle 22-DBCA

    只涉及到数据库的管理,不涉及到数据库的开发.不涉及到写SQL程序或者是写增删改查,不涉及到这些东西,也不涉及到事务. 你在安装oracle的时候它自动帮你创建一个数据库.

  9. 百度Apollo解析——1.总介绍

    1. 概括 Apollo源码主要是c++实现的,也有少量python,主要程序在apollo/modules目录中,共18个包,功能包17个: 其中每个模块的作用如下: apollo/modules/ ...

  10. PCL—关键点检测(rangeImage)低层次点云处理

    博客转载自:http://www.cnblogs.com/ironstark/p/5046479.html 关键点又称为感兴趣的点,是低层次视觉通往高层次视觉的捷径,抑或是高层次感知对低层次处理手段的 ...