版本控制
? 就是版本迭代
常见版本控制
- Git
- SVN(Subversion)
- CVS(Concurrent Version System)
- VSS(Microsoft Visual SourceSafe)
- TFS(Team Foundation Server)
- Visual Stdio Online
版本控制类型
- 本地版本控制:就在PC上
- 集中版本控制(有中央VCS服务器):所有人都需要去一个中央服务器找,单点故障,服务器必须一直联网运行,or员工找不到历史版本,代表SVN。
- 分布式版本控制:没有中央服务器,每个人都有全部代码,不必联网,本地先操作,联网后再互相推送。代表git。
Git历史
Linux和git之父李纳斯(芬兰)
李纳斯维护Linux,利用bitkeeper商业合作,但linux大社区佬破解这玩意,bitkeeper与李纳斯拒接合作,后两周李纳斯开发出git。
Git环境配置
反安装:删除环境变量,卸载即可
安装:无脑下一步(软件自动默认配置环境变量)
安装好后
- Git Bash :Unix与Linux。例如clear
- Git CMD:Windows风格。例如cls
- Git GUI:图形界面
Git命令
- cd …:返回上一个目录,直接cd进入默认目录change dir
- cd gitcode:打开所在的文文件夹
- pwd:显示所在目录(Print Working Directory)
- clear
- touch index.js
- ls(list)
- mkdir test:当前文件夹下创建test
- rm -r test:当前文件夹下删除test
- mv index.html test:移动index.html到test
- history
- reset
- help
- exit
- 另、#表示注视
git命令
- git config --system user.name “adair”
- git config --system user.email “2433@qq.com”
- git config -l
- git config --system --list(D:\Git\etc下面的gitconfig)
- git config --global --list(C:\Users\Adair下面的.gitconfig)
基本理论
工作区域
Git本地有三个区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Reposity或Git Directory)。远程的git仓库(Remote Directory)。关系如下
- Workspace:平时存代码的地方
- Stage:暂存区,事实上只是个文件
- Repository:本地仓库。HEAD存放最新的仓库版本。
- Remote:远程仓库。托管代码的服务器
1、增加文件xxx.xx
2、git add .
3、git commit
SO,git管理文件有三种形态:已修改modified,已暂存staged,已提交committed。
创建新的仓库
1、git init
2、之后可以看到.git的文件,所有版本信息在这里面
克隆远程仓库
1、git clone url
2、git rm
Git文件操作
上传到本地仓库
- 先在文件夹gitcode中增加一个hello.txt
- git status:用于查看
- git add .
- git commit -m “new file hello.txt”:引号用于描述过程
忽略文件(.gitignore)
- 文件中#开始的行被忽略
- 可以使用Linux的通配符。**为任意多字符,?代表一个字符。
- 名称前有!则是例外,不被忽略。
- /a。忽略a的兄弟,不忽略a下的
- a/。忽略文件夹a的文件
#为注视
*.txt
!lib.txt
/temp #仅忽略temp的兄弟
build/ #仅忽略build下的文件
doc/*.txt #忽略doc/notes.txt,不包含doc/server/arch.txt
使用码云
github有墙,一般使用gitee,公司有时候会搭建自己的gitlab服务器
设置本机绑定SSH公钥,实现免密码登陆
ssh-keygen -t rsa
然后把用户下的.ssh公钥粘贴到网站上即可。
克隆本地的git
先在gitee上创建一个仓库,然后在本地进行clone
IDEA中集成Git
1、新建项目,绑定git。把新建的仓库移动到idea中
2、随后打开项目,利用idea的terminal直接add,commit和push
Git分支
1、git branch dev。新建分支dev
2、git checkout -b dev。新建并切换dev
3、git merge dev。合并dev到当前。如果冲突协商即可
4、git branch -d dev。删除dev
|