01、版本管理-GIT

一、版本控制

版本控制,通过文档控制记录各个模块的改动,并给每次改动添加序号,用于存储、追踪目录和文件的修改历史。

二、版本控制软件

  • GIT 分布式版本控制系统
  • SVN 集中式版本控制系统

三、git安装

  1、git下载
    - https://git-scm.com/downloads
    - https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fgit
    - 360软件管家
  2、安装git(不要出现中文路径和空格)
  3、配置环境变量(我的电脑 — 右键属性 — 高级系统设置 — 高级 — 环境变量)
    - git命令是bin目录下
  4、检测git是否安装成功
    - cmd 打开命令行
    - 查看git版本
        $ git  - -version 
    - 查看帮助
        $ git help

四、windows命令行常用命令

  • dir 文件列表
  • cls 清屏
  • del 删除文件
  • cd 改变当前目录
  • copy 拷贝文件

Git Bash常用命令(和Linux是一致)
ls 文件列表
cd 改变当前目录
copy 拷贝文件
rm 删除文件
ctrl + l 清屏

五、git命令操作 —— 本地

  • 初始化本地git仓库
  - 切换到仓库文件目录中
     $ cd /dir
  - 初始化本地仓库
    $ git init

  • 添加本地git忽略清单 .gitignore 【说明哪些文件是不需要被管理的】
    忽略规则是一行一个(根目录和其他目录,目录名相同时,即加上对应路径,如果是根目录则是“/”);
$ echo img >> .gitignore    // 其实即是创建一个.gitignore文件,并向内容“img”输出到该文件中 【在windows中不方便创建这种文件】

在项目开发中,有时候想把某些目录或文件加入忽略规则中,但在清单中添加之后发现是无效的。即是某些文件已经被纳入了版本管理中,则修改. gitignore是无效的。解决方法:
git add .
$ git commit -m '更新gitignore忽略清单'
最好是在项目开始时,创建好. gitignore文件!

  • 查看本仓库的变更状态
  - $ git status
  - $ git status -s     //   输出简要的变更日志

文件状态说明:
' ' 没有修改
'A' 被添加到本地代码仓库 【add】
'C' 冲突 【clash】
'D' 被删除 【delete】
'I' 被忽略 【ignore】
'M' 被修改 【modification】
'R' 被替换 【replace】
'X' 外部定义创建的版本目录
'?' 文件没有被添加到本地版本库内
'!' 文件丢失或者不完整(不是通过git命令删除的文件)
'~' 受控文件被其他文件阻隔

  • 添加本地托管(暂存)文件
  - 添加指定文件名的文件
      $ git add index.html  
  - 添加通配符匹配的文件
      $ git add *.js
  - 添加所有未托管的文件(忽略.gitignore清单中的列表)
      $ git add .       // 或使用 $ git add —all

  • 提交被托管的文件变化到本地仓库
  $ git commit -m “提交代码对应的版本说明”

  • 对比差异
  $ git diff    // 对比当前版本和存储在本地仓库中最后一个版本的差异

  • 查看提交日志
  $ git log

  • 版本的恢复
  $ git reset - -hard xxxxxx    // xxx是对应版本的hash值前6位

六、git命令操作 —— 服务器

  • 概念区分
  - git是一个工具
  - github是一个网站
  - github网站提供的是git服务(即可以将代码托管到github服务器中)
  - github服务是“免费的”,但免费服务的前提是开源(如果代码需要闭源服务,即是要收费的)

  • github创建代码管理仓库

  • 为仓库添加远端地址(服务器地址)

  - 添加服务器地址并起名叫origin
      $ git remote add origin https://github.com/cxy/Git.git
  - 查看现有的服务器列表
      $ git remote -v

  • git分支(版本库其实就是一个时间轴)
  - 查看分支
      $ git branch
  - 查看分支的日志信息
      $ git branch -v
  - 新建分支
      $ git branch version2 // 新的分支version2(主分支是master)
  - 切换分支
      $ git checkout version2

  • 将代码提交到服务器
  $ git push -u origin master  // 提交到服务器中的master分支

  • 获取服务器中代码
  $ git pull origin master    // 从master分支中获取代码

  • 克隆(下载服务器代码)

  - 将远程服务器中代码克隆一份到本地   
    $ git clone https://github.com/userName/projectName test 

[图片上传失败...(image-4b339d-1540020841917)]

七、github为对应项目生成网站页面

  1、将新的工程项目提交到github中 (默认是master分支)
  2、创建新的分支gh-pages
  3、将新的分支gh-pages代码提交到github中   
  4、https://username.github.io/repository  (访问项目主页)
  扩展: 将主页绑定域名(前提是自己有域名)

  // 用户名: liming
  1、github中创建仓库名为 liming.github.io
  2、将github代码仓库克隆到本地
    $ git clone https://github.com/liming/liming.github.io
  3、在本地添加对应代码,然后上传到liming.github.io仓库中
  4、https://liming.github.io(访问项目主页)
  注: 如果仓库名和用户名不一致的,请用https://username.github.io/repositoryName这种方式访问

参考: https://pages.github.com/

八、HTTPS和SSH方式

  • HTTPS方式
  - git remote add origin https://github.com/iphone3.test.git
  - git push -u origin master 或 git pull origin master
  【每次操作都需要输入账号密码】

  • SSH方式(要进行了SSH认证)
  - git remote add origin [email protected]:iphone3/test.gti
  - git push -u origin master 或 git pull origin master

创建的仓库中,操作可以是HTTPS和SSH的选择

九、GIT SSH认证

1、创建 .ssh 目录

$ mkdir  ~/.ssh

2、切换到.ssh目录中

$ cd  ~/.ssh

3、配置全局的name和email(如果已经设置,即忽略该操作,这是用于标示一个人)

  $ git config - -global user.name "cxy"  // 两个横杆,中间不需要空格
  $ git config - -global user.email "[email protected]"

4、生成key

  $ ssh-keygen -t rsa -C "[email protected]"   // 与上面填写的邮箱与之对应
  备注: 连续三次回车,密码是设置为空

5、复制.ssh目录中的id_rsa.pub文件内容,即是key (当前用户的目录下)

  // 查看绝对路径的命令
  $ pwd 
  例如: c:\User\cxy\.ssh\id_rsa.pub

6、在github中添加key

View profile and more -> settings -> SSH and GPG keys -> New SSH key

7、检测是否添加成功

  $ ssh [email protected]
  提示: Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. 说明设置成功

作者:西门奄
链接:https://www.jianshu.com/u/77035eb804c3
來源:
著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(01、版本管理-GIT)