强大的分布式管理工具-Git(一)

  前言:最近忙着写项目,在期间呢,用的是git管理,由于一个项目的管理是很重要得,所以整理了一篇关于git得博客跟大家分享一下.大家都知道,在git出来之前,多用的是SVN的管理工具,SVN它是一款集中式的项目管理工具,挂载的是同一个服务器,它的确是一个安全的项目管理工具,但是由于SVN自身的特性--在线管理工具,这就意味着一旦你离线了,你就拿不到项目的文件了,也不能推送上去,一旦中央服务器出了问题,那么项目就够折腾人的了,这就是比较让人懊恼的地方了,git的异军突起,彻底打破了这个局面,它是一个强大的分布式管理工具,它会首先在本地创建一个仓库,将本地的仓库当作临时的仓库使用,你所有的操作都可以记录在本地仓库中,然后一键推送到远程仓库,即使你不在线,你的项目修改记录也会被保存下来,等待你将来推送上去,git的好处自然还有很多,废话不多说,直接跟大家走一遍git使用的流程.

  一:Git的安装

  这里以windows系统的安装为例子.git下载链接:https://git-scm.com/downloads;安装完成后在桌面右击鼠标出现Git Bash的选项即说明安装成功.如果你是第一次安装使用git,要先配置用户的信息

git config --global user.name 'Your Name'
git config --global user.email 'email@example.com'

  注意这里git config 后面的命令 --global 参数代表着全局,表示你这台机器上所有的仓库都会使用这个配置,当然也可以9对某个仓库指定不同的用户名和Email地址.

  二:创建本地版本库到推送

  什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

  所以创建一个版本库是非常简单的,选择一个合适的地方创建一个空目录。你可以直接在这个文件夹里右击鼠标,打开Git Bash,直接进入当前的目录,其他地方打开的Git Bash 需要通过cd命令进入git要管理的目录,

  第一步,创建一个本地的仓库(将当前目录变成git可以管理的仓库)

git init

  当此命令执行完毕,该目录下会多了一个.git文件夹,不懂得尽量不要去删改该文件夹里面的东西,如果创建成功了却没有看见,可能是该文件被设置为了隐藏文件,将电脑的隐藏文件显示出来即可看到,也可以用 ls- ah 命令。

  第二步,把当前文件夹里面的文件添加暂存区

git add .

  添加过后,可以通过 git status 查看文件的状态,绿色表示已经添加完成。

  第三步,把暂存区的文件添加到本地仓库

git commit -m '所作的操作记录,便于版本管理'

  注意:-m 后面的参数值一定要填写,它代表着你每个版本的修改记录,便于后期版本的查看。

  第四步:推送到远程仓库

  注意:你一定要确保你在远程创建了仓库,并且将本仓库与远程仓库进行了关联!

  将本地仓库与远程仓库进行关联

git remote add origin git@gitee.com:sh1908/git-lesson.git

  git@gitee.com:sh1908/git-lesson.git  可以在你远程仓库看到,直接复制下来你的远程仓库的链接替换上面的链接即可

  这时候就可以推送了:

// 如果你是第一次上传到远程仓库
git push origin -u master // 如果不是第一次
git push origin master

  第一次推送的同学,这时候会提示你要去配置密钥,因为我们使用的是ssh,那么接下来就是密钥配置的操作:

  • 第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开(Windows下打开Git Bash),一直敲回车即可,创建SSH Key:

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

  注意观察你生成ssh时的那个地址

  • 第2步:打开.ssh/id_rsa.pub这个文件,复制里面的内容

  • 第3步:打开 码云 的网站,找到设置,选择 SSH公钥,标题自己写,内容即为第2步中复制的内容,需要输入你的码云的密码,这一次以后,本台电脑上传代码到该仓库再也不用输入密码了

// 如果你是第一次上传到远程仓库
git push origin -u master

// 如果不是第一次
git push origin master

  这时候去刷新码云(git管理的平台)项目的文件查看,你就开心的发现,你的本地仓库的文件出现在了远程仓库中了

  到这,我相信大家都学了了如何用git来创建到上传自己的项目了,那么接下来,走一个相反的过程,将远程仓库文件拿到本地。

  三:克隆远程仓库代码(仅此一次)

// 1、配置自己的ssh,参照 前面密钥的配置
// 2、复制远程项目的地址 git@gitee.com:sh1908/git-lesson.git // 3、找到自己的项目的目录,打开git base
// 4、克隆代码 git clone git@gitee.com:sh1908/git-lesson.git

  如果说,之前的配置都做过了,那么在这里只需要使用 git clone 命令,后面加上你要克隆的代码的地址即可。那么有的同学就要问了,远程仓库的文件更新,再次去克隆,反复下载不是很麻烦嘛?这就是我标题里面写了 仅此一次 的意思了,当我们从远程仓库下载过一次文件之后,想要跟随远程仓库代码进行同步更新,我们可以使用一个新的命令

git pull origin master

  每次当远程仓库代码更新,本地下载过的,只需要 git pull 一下,就可以同步远程仓库的代码到本地了,是不是很方便?

今天这篇博客就写到这,相信只要看完了本文的同学,都已经可以上手用git去管理自己得到项目了,接下来我会在  强大的分布式管理工具-Git(二)中给大家分享一些git拓展的命令操作,例如,如何进行版本回退,如何查看操作日志等。

强大得分布式项目管理工具Git的更多相关文章

  1. 痞子衡嵌入式:备受开源社区推崇的分布式版本控制工具(Git)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是分布式版本控制工具Git. 1.为什么需要版本控制系统? 单人软件项目开发过程,往往很多功能都是逐步增加的,在代码开发过程中,有的时候功 ...

  2. 开源分布式版本控制工具 —— Git 之旅

    Git 主张的分布式代码库与文件快照的设计思想,相对于传统 CVS.SVN 等集中式.文件差异式版本控制工具是一种挑战与颠覆.Git 带来了离线提交.轻量级分支等诸多便利.不过,也有人质疑 Git 的 ...

  3. 谈谈分布式版本管理工具Git

    一.主流的版本管理工具 目前在企业中比较主流的版本管理工具有:GIT.SVN.CVS等等. 二.什么是Git? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.是 L ...

  4. 向西项目管理工具Git一片

    前言 Git 这个词相信大家并不陌生,做开发的童鞋们每天都离不开它.当然,假设你的项目中没实用到分布式,那么,你可能从未用过 Git,当然也可能没听过.只是,这不是重点,重点是这一篇文章,我们将一起谈 ...

  5. 分布式版本控制工具Git

    一.Git技术简介 Git是一个分布式版本控制系统,与集中式的SVN不同. 1. 主要特点 集中式特点: 所有人的资源全部保存在中央服务器. 所有人开发前都需要从中央服务器上下载同步其他人的代码才能继 ...

  6. 分布式版本管理工具 git常用命令

    Git global setup git config --global user.name "joey" git config --global user.email " ...

  7. 项目管理之Git

    @[TOC]( Git命令:分支与合并)Git一款很好的项目版本管理工具,更是一款优秀的分布式项目管理工具.今天主要给大家介绍Git 强大的分支和合并功能,分支和合并可以说在实际的工作当中用到的是最多 ...

  8. 使用TFS+GIT实现分布式项目管理

    前言 GIT是近来很流行的一种版本控制系统,是Linux内核之父Linus Torvalds为了管理Linux内核的开发而开发的一种开源的版本控制工具. GIT相比传统的版本控制工具最大的优点是实现了 ...

  9. [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit

    [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitS ...

随机推荐

  1. Mysql之zip格式的安装

    Mysql之zip格式的安装 一.配置环境变量 首先,我新建一个文件夹,将其改名为MySQL Sever 5.6,其路径为D:\Program Files (x86)\MySQL\MySQL Seve ...

  2. hbase读取快照数据-lzo压缩遇到的问题

    1.读取hbase快照数据时报UnsatisfiedLinkError: no gplcompression in java.library.path错: 2019-09-04 17:36:07,44 ...

  3. CentOS 7.3 安装 libsodium 1.0.18

    出现configure: error: The Sodium crypto library libraries not found.错误或者notfound 1.下载并解压 wget https:// ...

  4. 如何设置java虚拟机参数

    这两天在看java虚拟机,从书上看到可以自己设置java虚拟机的参数,可以方便开发人员进行系统调优和故障排查 Ecplise设置java虚拟机参数: window-->preferences-- ...

  5. java8-Stream原理

    前言 java8新特性目前使用非常广泛,其中Stream更是最常用的特性,这篇文章将介绍Stream的原理,如果你现在还不怎么会用的话可以看一下菜鸟教 https://www.runoob.com/j ...

  6. MySQL基础/数据库和表的设计

    MySQL基础 一:安装MySQL(按步骤操作,如果下载后使用不了,试着用360安全卫士卸载MySQL,清除残留的,方便在下载造成不必要的麻烦:如果这样也不行,那就需要重做系统在进行下载) 二:创建数 ...

  7. 神奇的 SQL 之层级 → 为什么 GROUP BY 之后不能直接引用原表中的列

    前言 开心一刻 感觉不妙呀,弟弟舔它! 不该舔的,舔到怀疑人生了...... GROUP BY 后 SELECT 列的限制 标准 SQL 规定,在对表进行聚合查询的时候,只能在 SELECT 子句中写 ...

  8. 调用webservice获取电话号码归属地信息

    首先什么是webservice ? 从广义上面讲,任何一个服务器所提供的"数据","内容","方法"等等都可以理解为webservice. ...

  9. 关于样式style

    今天看到了一个bgcolor和以前看过的background-color,特意查了一下区别 百度是这么说的:background-color是标准CSS属性,bgcolor应该是IE扩展的html元素 ...

  10. [3]尝试用Unity3d制作一个王者荣耀(持续更新)->选择英雄-(中)

    如果已经看过本章节:目录传送门:这是目录鸭~ 上节内容写了Actor管理器,那么这一节让我们先创建一个角色.(此章节开始加速...) 1.制作角色展示AssetBundle: 提取农药某个展示模型(S ...