在实际的项目开发过程中,多人进行项目开发,需要涉及到代码管理和协同管理。这就需要使用到代码协同管理工具。在过去,大家都熟悉使用的是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. linux下安装composer

    在linux下使用comoser命令,但是提示composer command not found 那么就是当前环境中没有composer 学习源头: https://blog.csdn.net/gb ...

  2. 获得Oracle中刚插入的数据的ID(for produce)

    在sql sever中实现插入数据的自动增长是很容易的,但是在oracle数据库中实现这一操作不是很容易,同时要想在.net中实现获取新插入数据的id,而 且不会出现读错的情况,就更显得困难了,为了解 ...

  3. [转载]Python print函数用法,print 格式化输出

    使用print输出各型的 字符串 整数 浮点数 出度及精度控制 strHello = 'Hello Python' print strHello #输出结果:Hello Python #直接出字符串 ...

  4. kubernetes 学习 创建cronjob

    POM.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...

  5. Even uploading a JPG file can lead to Cross-Site Content Hijacking (client-side attack)!

    Introduction: This post is going to introduce a new technique that has not been covered previously i ...

  6. JavaScript组合设模式--改进上述引入的例子

    对于组合设计模式: (1)组合模式中把对象分为两种(组合对象,和叶子对象) (2)组合对象和叶子对象实现:同一批操作 (3)对组合对象执行的操作可以向下传递到叶子节点进行操作 (4)这样就会弱化类与类 ...

  7. ubuntu16部署gitlab

    一.gitlab的安装 1. 安装依赖包 $ sudo apt-get update #如无ssh还需安装openssh-server $ sudo apt-get install postfix c ...

  8. Redis Cluster 伪集群的搭建

    简介 为何要搭建Redis集群?Redis是在内存中保存数据的,而我们的电脑一般内存都不大,这也就意味着Redis不适合存储大数据,适合存储大数据的是Hadoop生态系统的Hbase或者是MogoDB ...

  9. 在页面所有元素加载完成之后执行某个js函数

    在页面所有元素加载完成之后执行某个js函数 http://lgscofield.iteye.com/blog/1884352

  10. oracle行转列练习

    ----------------------第一题--------------------------- create table STUDENT_SCORE ( name ), subject ), ...