版本管理系统之Git简明教程

在现代软件开发过程中,版本管理系统(VMS:Version Manager System)或称版本控制系统(VCS:Version Control System)是一个必不可少的工具。这些工具中的代表是分布式版本控制系统Git,不管是个人开发还是团队协作开发,Git都是一剂好用的“后悔药”。

提纲####

本文尝试从以下几个方面介绍Git工具:
1、Git简单原理介绍
2、Git基本概念介绍
3、Git和Github的关系
4、Git使用操作步骤
5、PrivateCode的选择


Git基本原理介绍####

举例来说,我在D盘写了一个方案,第二天我要修改这个方案,但我还是防止老板再想用第一天的版本,我需要怎么做呢?那我把第一天的方案文档,复制一份,起个不同的名字。这是一个人做方案。如果多个人做方案,那怎么办呢?可以这样做,架设一个服务器,把文档的中间版本即版本库存放到服务器上,团队的人都可以下载这个文档,修改完了之后,再上传到服务器。这种思路就是SVN的实现。
这么做还有一个缺点,那就是本地保存的都是最新版,只有一个版本,中间版本都在服务器上,如果服务器挂了,那就歇菜了,无法回溯了。那再加个篮子,中间版本在服务器上存一份,在本地也存一份。这就是Git的实现。本地和服务器都保存了完整的版本库,离线的情况下也一样可以进行完整操作,同时解除了单点故障风险。如果SVN离线后,就没办法向上回溯版本了。

Git基本概念介绍####

1、本地仓库(本地版本库):可以把它理解成工作目录。仓库不是唯一的,有多少个工作目录或说项目目录,就可以有多少个仓库。
2、远程仓库:用来存放中间版本的仓库,例如github、bitbucket。当然也可以自己搭建私有远程仓库。

Git和Github的关系

git是一个程序,一个进行版本控制的工具软件;github是一个网站,提供存储git生成的版本库的服务,是一个存储空间,像是百度云,只是存储的内容和操作方法有区别。

Git使用操作步骤

1、下载Git程序:https://git-scm.com/downloads,对应使用的操作系统;
2、安装Git程序:windows 双击安装,其他系统使用命令行工具或其他方式;
3、进行基本配置:windows下打开git bash 或 cmd 配置用户名和密码,Linux下打开Terminal 或其他终端。3.1($为命令提示符,不用输入)

$git config --global user.name acyctech
$git config --global user.email acyctech@163.com

3.2生成SSH key(windows下使用git bash)。

$ssh-keygen -t rsa -C "acyctech@163.com"
$cat ~/.ssh/id_rsa.pub

说明:acyctech@163.com是我的邮箱,使用时请更换。
4、git bash 或 cmd 下进入你的工作目录(请提前建好文件夹或命令行mkdir),这个目录会作为你的一个本地仓库。示例文件夹名称为:myapp

$cd e:\workspace\myapp

如果是cmd记得加上参数或是分步进入:

$cd /d e:\workspace\myapp
或
$cd e:
$cd workspace\myapp

5、把这个目录转化为仓库,或称作新建本地仓库,或称作初始化仓库。意思就是把这个工作目录和Git关系起来。

$git init

6、把文件夹内的文件添加到git缓冲区(请提前建立text.txt文件)

$git add text.txt
如果有很多文件要添加,用下面这条命令
$git add .

7、把缓冲区内的操作提交到本地仓库,这一步是真正操作,但要以上一步为基础。这么做能提高效率。

$git commit -m "this commit is for test"

8、github基本操作
8.1注册github账号
8.2.新建Repository,假设名为myapp
8.3新建SSH key:
右侧用户图标--settings--左侧SSH and GPG keys--New SSH key--title--key(用下面的命令查看)--Add SSH key。
查看本地生成的SSH key的命令如下(git bash),选中复制:

$cat ~/.ssh/id_rsa.pub

这个SSH key是在3.2中生成的。
8.4测试连接是否成功

$ssh -T git@github.com
Hi acyctech! You've successfully authenticated, but GitHub does not provide shell access.

出现上述结果证明连接成功,acyctech是我的用户名。
8.5建立git和Github上刚才新建的仓库myapp之间的关联:

$git remote add origin git@github.com:acyctech/myapp.git

其中git remote add是关键字,不变;origin是连接的名称,是远程仓库在本地的代名词,origin后面的长字符串是仓库的SSH,在github仓库下可以看到,git@github.com不变,acyctech代表用户名,myapp代表仓库名,不要忘记加.git后缀。
9、把本地仓库内容推送到远程仓库,或说把本地仓库同步到远程仓库。

$git push -u origin master

说明:-u参数只在第一次添加
10、在github仓库页面,刷新,可以见到仓库下已经同步了本地仓库的文件。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,706评论 9 163
  • 原创:桐花馆coffee house 偶然看到这本书,记忆被突然惊醒,当年在博客上围观过的,写抗癌日记的复旦教师于...
    桐花馆的刘大梦阅读 772评论 0 0
  • “过去吃烤肉都是自己烤。因为炙子颇高,只能站着烤,或一只脚踩在长凳上。大火烤着,外面的衣裳穿不住,大都脱得只穿一件...
    小妇阿达阅读 88评论 0 0
  • 01 不懂,不是一个人的事 恕我孤陋寡闻,还是在4年前才第一次听说这个故事。 当地的心理咨询公司组建了一个学习小组...
    院长X大叔阅读 723评论 2 13
  • 亲爱的朗朗, 虽然有时候你会对弟弟凶,你会嫌他烦,甚至有时候还打他一下,但却丝毫掩盖不住你对弟弟的爱。买零食总会给...
    Syneysun阅读 95评论 0 1