git使用详解汇总复习
Git的介绍与理解
git是什么
git和其他版本控制系统的区别
核心区别
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,集中式版本控制系统是必须联网才能工作,如果网速慢的话,效率就别叫低下了。
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了。
各自的优缺点
Git的优缺点
优点
- 分布式,每个参与开发的人的电脑上都有一个完整的仓库,不担心硬盘出问题。
- 在不联网的情况下,照样可以提交到本地仓库,可以查看以往的所有log,等到有网的时候,push到远程即可。
- 非常强大的分支管理功能。
- Git的内容的完整性要优于SVN——“GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。”
缺点
- 权限管理不是很方便,需要安装插件gitolite,配置有点麻烦,或者直接使用gitlab管理。
SVN的优缺点
优点
- 较好的权限管理功能,可以精确控制每个目录的权限
- 使用相对git要简单一点。
缺点
- 集中式,如果中心服务器出现问题,所有人都不能正常干活,恢复也很麻烦,因为SVN记录的是每次改动的差异,不是完整文件;
- 分支功能没有git强大;
- 速度没有git快,如果有五个分支,是把五个分支的文件全部拷下来;
- 必须联网才能commit。
git的前期准备
首先需要知道可以用git做些什么——
项目开始阶段,初始化项目(init),提交本地的代码到仓库,将本地仓库的代码推送到远端库(push);
- 从远端库克隆代码到本机(clone),此时本地仅有一个master分支;
- 新建dev分支并切换、在Dev分支中进行开发工作,其实就是修改并提交代码(add+commit);
- 当开发的dev分支的代码没问题时,将dev分支合并(merge)到master;将master推送到远端分支即可。
git的安装
从网上下载一个git,进行简单的默认安装即可。
安装完成后,在开始菜单里面找到Git->Git Bash点击运行。
最后输入git config --list 测试一下最后两行的信息和你之前输入的一模一样,那就完成了git的初始化操作。
因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
git的主要命令
git init 新建一个空的仓库
git status 查看状态
git branch 查看所有分支
git branch newname 创建一个叫newname的分支
git checkout newname 切换到叫newname的分支上
git add . 添加文件
git rm -r xxx.txt 删除文件
git commit -m ‘注释’ 提交添加的文件并备注说明
git remote add origin git@github.com 连接远程仓库
git push origin master 将本地仓库文件推送到远程仓库
git pull origin master 将远程仓库文件更新到本地仓库
git remote -v 查看远程仓库
git fetch origin master:newname 本地新建一个newname分支,并将远程origin仓库的master分支代码下载到本地newname分支
git diff newname 比较本地代码与刚刚从远程下载下来的代码的区别
git merge newname 把newname分支合并到当前分支上
git branch -d newname 删除newname分支
git log 查看变更日志
git reset --hard 版本号前六位 回归到指定版本
git pull origin master 将master分支上的内容拉到本地上
删除本地文件后重新拉取最新
git fetch --all
git reset --hard origin/master
git pull或git checkout file(文件名)
#将已提交的文件忽略
git rm -r --cached node_modules
git add . -A
git commit -m “remove xxx”
git push
添加新功能时
git checkout -b login 创建一个新的login分支并进入此分支
git status
git add .
git commit -m “xxx”
git branch
git checkout master
git branch
git merge login
git push
把新分支添加到云端
git checkout login
git branch
git push -u origin login