版本控制系统:
1、CVS和SVN是集中式的版本控制系统。
2、Git是分布式版本控制系统;
集中式的版本控制系统:
版本库是放在中央服务器的,一旦出问题,就无法干活。干活的时候用自己电脑,所以需要从中央服务器取得最新版本,修改完后再把自己的活推送给中央服务器。最大毛病是必须联网才能工作,网速慢时会被憋死。
分布式版本控制系统:
有一台“中央服务器的”的电脑,用于多人合作交换修改的。它安全性更高,因为每个电脑都有完整的版本库,一旦出问题,可以从其他电脑复制。有强大的分支管理。
安装git和基本用法
1、从git 官网下载程序,默认安装即可。
2、设置账号和邮箱关联,账号和邮箱可以是码云、GitLab...的账号都行:
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
3、选择合适地方,创建空目录:
$ mkdir test //创建空目录,目录名字为test $ cd test //进入test目录
4、初始化仓库,把目录变成git 可以管理的仓库:
$ git init
$ ls //查看文件
$ ls -ah //如果.git目录是影藏的话,可以通过这个命令查看.git目录
5、提交文件到git 上
$ git add . //告诉Git,把文件添加到仓库,此时是将修改添加到暂存区,可add 多次 $ git commit -m '本次提交的备注' //告诉Git把文件提交到仓库,此时是吧暂存区的所有内容提交到当前分支,可一次提交很多文件
6、查看当前仓库的状态
$ git status //查看版本库状态,什么被修改过但还没提交的
$ git diff //查看当前相对上一次提交修改的内容
7、版本回退
$ git log //显示从最近到最远的提交日志 $ git log --pretty== oneline //显示log,但是不显示很多凌乱的信息 q //显示log版本信息有很多,使用q键停止查看 git reset —hard head^ //回退到上一个版本 git reset —hard head^^ //回退到上上个版本 git reset —hard head~100 //回退到之前100个版本 git reset —hard +commit_id //回到某个版本号的版本 git reset — hard 版本号 //版本回退多次后需要恢复最新版本 $ git reflog //查看曾经使用过的命令
8、撤销修改
$ git checkout -- test.html
9、删除文件
$ rm test.index //可直接在文件管理中删除文件,要不用rm 命令去删除 $ git rm test.html //从版本库中删除 $ git commit -m '删除 test.html文件'
$ git branch -D <name> //
丢弃一个没有被合并过的分支,可以通过强行删除。
远程仓库
1、创建SSH Key(需要生成 id_rsa私钥 和 id_rsa.pub公钥 两个文件)
$ ssh-keygen -t rsa -C "youremail@example.com"
2、登录GitHub,设置"SSH Keys",复制 id_rsa.pub 内容去添加。可允许添加多个SSH。
3、关联远程仓库
$ git remote add origin git@github.com:账户名
4、将本地的内容推送到远程库分支上
$ git push -u origin 分支名字 //第一次推送分支所有内容
$ git push origin 分支名字 //推送最新修改
5、查看远程仓库信息
$ git remote