一、版本控制
版本控制,通过文档控制记录各个模块的改动,并给每次改动添加序号,用于存储、追踪目录和文件的修改历史。
二、版本控制软件
- 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
來源:
著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。