CVS(完全淘汰,缺点:每次保存都是全部文件)
SVN(好处:每一次更新只保存改变的文件,缺点:一个服务器)
前面的 CVS 和 SVN 都是基于一个服务器的,如果脱离服务器,项目的版本保存就
没有了任何意义,Git 恰恰处理了这样的问题,Git 是一个分布式的版本控制系
统,在 Git 中即使用户离线,也能进行项目的提交和更新操作,等到下次连线服
务器时进行整体的同步操作。
Git和SVN的区别
Git分布式(每台电脑上面都有一台服务器),Svn集中式
GIT把内容按元数据方式存储,而SVN是按文件
GIT没有一个全局的版本号,而SVN有
GIT的内容完整性要优于SVN
Github网站实现远程仓库,公司里面gitlab
Git Bash使用(命令行)
工作区—暂存区—本地仓库(本地服务器)–远程仓库
git clone https://github.com/pengshaohua/html.git 克隆仓库和本地同步
git status 查看状态 master:主分支
git add index.html 从工作区提交暂存区 git add . 提交所有改动的文件。
git commit -m “提交的注释” 暂存区到本地服务器
git push origin master:提交远程服务(origin:远程服务器名称 master:主分支)
如果仅仅是文件修改了,一次性到本地服务器 git commit -a -m “提交的注释”
Git的命令行使用
Git 本地操作
- 如何将远程仓库和本地进行相关的联系
Clone with https:每次提交远程服务器都需要用户名和密码
Clone with ssh:配置私钥(本地)和公钥(配置给githup) - 创建分支
Git branch 分支名称 创建分支
Git checkout 分支名称 切换分支
Git branch 查看分支 - 版本:
git tag v1.0
git push origin v1.0 - 协作:
- 查看提交日志 git log 通过回车查看所有,q键退出
回到那个状态:git checkout commitID号 - git rm与git rm --cached
- 当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用
git rm file_path
git commit -m ‘delete somefile’
git push - 当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本 控制, 可以使用
git rm --cached file_path
git commit -m ‘delete remote somefile’
git push
配置公钥(私钥在本地)
1.配置个人用户信息和电子邮件地址
git config --global user.name “用户名”
git config --global user.email “你的邮箱”
git config --list (查看所有配置项)
- 输入如下命令:ssh-keygen -t rsa -C “你的邮箱” --回车直到结束。生成ssh
- 进入github配置公钥
cd ~/.ssh 进入.ssh目录
ls 显示目录的内容
cat ~/.ssh/id_rsa.pub 查看文件的内容
进入github网站—点击右上角小图片—settings—左侧菜单SSH and GPG keys