git--分布式版本管理系统
参考博客:廖雪峰的官方网站
一、window安装git
Git官网直接下载安装程序,默认选项安装即可。
1、设置自己的git(cmd命令或者git bash进入)
git config --global user.name "myname" git config --global user.email "myname@example.com"
二、创建版本库
第一步:选择一个合适的存储位置,创建一个空目录(请确保目录不含中文)
mkdir learngit cd learngit
第二步:git init 命令将这个目录变成Git管理的仓库
git init
三、文件管理
1、添加文件到版本库
注意:版本控制系统只能跟踪文本文件的改动,无法记录图片、视频、Word文档等二进制格式文件。
并且文本文件编辑最好统一编码,如utf-8(不要用window自带的记事本编辑文本)。
添加文件分两步:
1、git add file,将文件放入暂存区stage
2、git commit -m message,将文件放入分支master
2、git status 查看版本库状态,git diff file 查看本地和仓库的不同【只能查看未add的文件的改动】
文件修改未add --》Changes not staged for commit
文件add后 --》Changes to be committed
文件commit后 --》On branch master nothing to commit,working tree clean
3、回退版本或丢弃更改
git log 从近到远显示commit提交日志。参数 --pretty=oneline 将提交日志单行显示
git reflog 从近到远显示命令历史,包含命令id,供回退。
git reset --hard HEAD^ 回退到上一个版本【^符号在window下需要加双引号】
HEAD^^ 上上个版本,往上第100个版本:HEAD~100
参数:hard 回退时,版本文件覆盖本地文件,未add、已经add、已经commit都会清空。再次回到回退前的版本,也是版本库文件,git diff 显示为空,git status 显示工作区干净,没有提交。
soft 回退时,之前commit的、已经add的将会放入暂存区stage,之前未add的,还在工作区等待add。再次回到回退前的版本,恢复到之前的状态。
mixed 回退时,回退版本上已经commit、未add的、已经add的都放在工作区,还没add。
git checkout -- file 撤销工作区的修改,回到commit或add时的状态。【SVN中checkout,是检出某个版本,因为SVN里没有暂存区的概念,检出即意味着版本覆盖】
回到commit:即本地与版本库一致;回到add:即原先add后,checkout依然在add状态。
git reset HEAD file 将暂存区文件放到工作区
4、删除文件
git rm file 删除文件,放入暂存区,等待提交