一:Git是什么?
Git是目前世界上最先进的分布式版本控制系统。
二:SVN与Git的最主要的区别?
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
三、git常用基本命令
git config --global user.name "用户名"
git config --global user.email "xxxxx@163.com"
git init -----将一个目录初始化为仓库
git add 文件名 -----将一个文件添加到暂存区
git add . -----将所有新文件或更改的文件添加到暂存区
git commit -m "备注" ----将暂存区中的内容提交到仓库的当前分支中
git status -----查看当前目录状态和暂存区状态
git log ----查看日志
git reflog -----查看日志
git checkout -- 文件名 -----撤销工作目录中指定文件的修改
git reset 文件名 ------撤销暂存区中的文件
git checkout -b 分支名称 -----创建并切换到指定分支中
git checkout -d 分支名称 -----删除指定分支
git merge 分支名称 -----将指定分支合并到当前分支
git rm 文件名 -----删除分支指定的文件
git branch -----查看所有分支
git checkout 分支名称 -----切换到指定分支中
git reset --hard 文件版本号 -----将文件还原到指定版本
ssh-keygen -t rsa –C “xxxx@163.com” ---生产非对称秘钥
git remote add 关联的远程仓库名称(随意命名) https://github.com/账号名/仓库名称.git
git remote -----查看关联的远程仓库名
git push 关联的远程仓库名 远程仓库分支名称 ------将本地当前分支推送至远程仓库分支中
git pull 关联的远程仓库名 远程仓库分支名称 ------将远程仓库分支拉至本地当前分支中
ssh -T git@github.com ----检查本地是否成功关联到github
git clone 远程仓库url 本地仓库名称 ------克隆远程仓库至本地并命名指定名称