Git
1.版本控制
什么是版本控制 版本迭代
2.版本控制分类
1.本地版本记录
2.集中式版本控制 代表产品:svn
3.分布式版本控制系统 git
3.git和svn区别
svn集中式版本控制系统
git跟不是版本控制系统
git可以直接看见更新了哪些代码和文件
git是目前世界上最先进的版本控制系统
4.git环境配置
1.下载:[git官网] https://git-scm.com/,下载git对应操作系统的版本。
2.淘宝镜像下载:http://npm.taobao.org/mirrors/git-for-windows/
下载好后直接安装:一直下一步
5.启动git
安装成功之后会有git项,菜单下有三个程序
Git Bash: unix与Linux风格命令行,使用最多,推荐对多
Git CMD: windows风格命令行
Git GUI: 图形界面git,不建议初学者使用,尽量先熟悉常用命令
6.基本linux命令学习
平时一定多使用这些基础命令
1)、cd : 改变目录。
2)、cd . . 回退到上一个目录,直接cd进入默认目录
3)、pwd : 显示当前所在的目录路径。
4)、ls(ll): 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。
5)、touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。
6)、rm: 删除一个文件, rm index.js 就会把index.js文件删除。
7)、mkdir: 新建一个目录,就是新建一个文件夹。
8)、rm -r : 删除一个文件夹, rm -r src 删除src目录
9)、mv 移动文件, mv index.html src index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下。
10)、reset 重新初始化终端/清屏。
11)、clear 清屏。
12)、history 查看命令历史。
13)、help 帮助。
14)、exit 退出。
15)、#表示注释
7.git配置
所有的配置文件都保存在本地
查看配置git config -l
查看系统配置git config --system --list
查看用户自己的配置git config --global --list
Git相关配置文件:
1.Git\etc\gitconfig :Git 安装目录下的 gitconfig --system 系统级
2.C:\Users\Administrator\ .gitconfig 只适用于当前登录用户的配置 --global 全局
设置用户名与邮箱(用户标识,必要)
git config --global user.name "********" #名称
git config --global user.email "**************" #邮箱
这里也可以直接编辑配置文件。
8.git基本理论(核心)
工作区域
git本地有三个工作区:
- 工作目录(WorkSpace)
- 暂存区(Index/Stage)
- 资源库(Reposity)
- (git远程仓库)(Remote)
9.git项目搭建
创建本地仓库的方式有两种:一种是创建全新的仓库,另一种是直接克隆远程仓库
-
创建全新的仓库,需要使用git管理项目的根目录执行
#在当前的目录新建一个git代码库 git init
执行后可以看见,仅仅在项目目录中多了一个.git目录,关于版本等信息都在这个目录里面
-
克隆远程仓库
git clone [url] # https://gitee.com/kuangstudy/openclass.git git clone https://gitee.com/all-to/git-s
.git/config:文件中记录提交的仓库地址
10.git文件操作
文件的四种状态
版本控制就是对文件版本的控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上
- Untracked: 未跟踪,在此文件夹中,但是并没有加入到git库,不参与版本控制。通过git add 状态变为Staged
- UnModify: 文件已经入库,未修改。
- Modified
- Staged
查看文件状态
#查看指定文件状态
git status [filename]
#查看所有文件状态
git status
git add . #添加所有文件到暂存区
git commit -m "消息内容" #提交暂存区中的内容到本地仓库, -m 提交信息
忽略文件
#为注释
*.txt #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
11.使用码云
- github 是有墙的,比较慢
- 在国内的话,我们一般使用 gitee
- 公司中有时候会搭建自己的gitlab服务器
设置本机绑定的ssh公钥,实现免密码登录
ssh-key -t rsa
进入C:User\Administrator\.ssh
--\.ssh
--\id_rsa
--\id_rsa_pub #内容为公钥
12.IDEA中集成Git
1.新建项目,绑定git
- 将远程git文件目录拷贝到项目中即可
2.修改文件,使用IDEA操作git
- 添加到暂存区
- commit提交
- push到远程仓库
3.提交测试
有道无术,术尚可求。有术无道,止于术。
说明:GIT分支
多个分支如果并行执行,就会导致我们代码不冲突,也就是同时存在多个版本