Git简单使用
Git简介
1991年Linux创建了Linux,2005年Linux花了两周时间自己用C写了一个分布式版本控制系统:Git
分布式 vs 集中式
集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。
那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
windows上Git的配置
打开
Git Bash
命令行输入:git config --global user.name "Name" git config --global user.email "mail"
备注:
--global
参数表示这台机器上的所有Git仓库都会使用这个配置。版本库
版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
步骤:
- 创建一个空目录
- 进入该目录,运行
git init
命令把这个目录变成 Git 可以管理的仓库。创建仓库后目录下多了一个
.git
的目录,这个目录是Git来跟踪管理版本库的。所有版本控制系统只能跟踪文本文件(如 txt文件 、网页)而不能跟踪二进制文件(如图片、视频)内容的变化,对于文本文件编码的选择推荐使用 utf-8 。【windows系统要避免使用自带的记事本编辑文本文件】
把文件放大 Git 的版本库
- 使用
git add file_name
告诉 Git ,把文件添加到仓库。【可以多次使用】- 使用
git commit -m "illumination for file"
,告诉 Git 把文件提交到仓库。
时光穿梭机
可以使用
git status
查看仓库当前的状态。上面的命令告知
test.txt
文件被修改了,但还没提交修改。可以使用git diff 'filename'
查看做了哪些修改。提交修改到仓库:
git add test.txt
git commit -m 'modify test.txt'
版本回退
可以使用
git log
命令查看最近到最远的提交日志,如果嫌输出的信息太多,看得眼花缭乱可以加上--pretty=oneline
。回退
在 Git 中使用
HEAD
表示当前版本,也就是最新提交的bc2c...
,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,也可以写成HEAD~2
形式。使用
git reset
命令回退版本,如git reset --hard HEAD^
可以看出版本已经回退
撤销回退
虽然
git log
命令已经看不到最开始那个版本的 id ,但只要当前的窗口没关闭还有机会复原,找到要复原的 id 号使用命令 如git reset --hard bc2c
。如果窗口已经关闭但是想要恢复,也可以使用
git reflog
命令来找到要恢复版本的 commit id。: