一、git的简单了解
世界上最先进的分布式版本控制系统(没有之一);
集中式版本控制系统最大的毛病就是必须联网才能工作;
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了;
Git极其强大的分支管理,把SVN等远远抛在了后面;
二、如何使用
1、安装(安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功了)。
2、设置,在命令行输入如下;
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
注意git config
命令的--global
参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
3、创建版本库(又名仓库,英文名repository,也可以理解为目录,目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”);
- 创建一个空目录:mkdir learngit && cd learngit;
- 初始化一个Git仓库,使用
git init
命令把这个目录变成Git可以管理的仓库(多了一个.git文件是git来跟踪管理版本库的,没有的话ls-ah 命令可以看见);- 添加文件到git仓库分两步;第一步:使用命令
git add <file>
,注意,可反复多次使用,添加多个文件;第二步,使用命令git commit -m "说明"
,完成。
三、操作(回退、工作区和暂存区stage、管理、撤销、删除)--modified被修改
Git管理的是修改,而不是文件呢
从来没有被添加过的话,它的状态是Untracked files
红色代表工作区 绿色代表暂存区
vi readme.txt 进入编辑状态,怎么退出编辑呢
head表示最新版本
1、版本回退
怎么查看txt文件内容
mkdir 文件夹 && cd 文件夹
git init 初始化
git add file 文件名 添加到仓库
git commit -m "说明" 提交到仓库
git log 查看提交日志
git log --pretty=oneline 查看日志显示一行
git reset --hard 版本号 (git reset --hard HEAD^ 回到上个版本) --回滚到某个版本
git reflog 重回未来版本日志
git status 查看状态在哪个区,哪些未提交等
git diff HEAD -- readme.txt
命令可以查看工作区和版本库里面最新版本的区别(如果不add
到暂存区,那就不会加入到commit
)
使用场景
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file
,就回到了场景1,第二步按场景1操作。-----因为git reset HEAD file
可以把暂存区的修改撤销掉(unstage),重新放回工作区,然后工作区再恢复到最新版本库
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,直接版本回退,不过前提是没有推送到远程库。
删除文件
del ***.txt window下删除txt文件
1.现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm
删掉,并且git commit
:
$ git rm test.txt
$ git commit -m "remove test.txt"
2. 另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
$ git checkout -- test.txt