Git小结(入门篇)

来源:互联网 发布:笔记本电脑蹭网软件 编辑:程序博客网 时间:2024/06/05 05:06

(1)什么是Git?跟SVN有何区别?

Git是分布式版本控制系统。将所有版本信息保存在本地。
SVN是集中式版本控制系统。将所有版本信息保存在中心服务器。需要更新时,首先需要将修改对象,下载到本地,更新后,再提交至中心服务器。比如,MKS。

(2)下载&安装Git.
Git Download URL,之后一路next.
Git提供了三个快捷方式,Git Bash, Git CMD, Git GUI。Git Bash为shell命令行方式,Git CMD为WINDOW cmd命令行方式,Git GUI为UI方式。本文及之后小结,都以Git Bash为总结对象。

这里写图片描述

(3)设置Global变量
第一次使用Git,需要设置Global变量。通常为user name和user email,用于标注每次更新的操作人。

进入Git Bash,输入如下指令。该设置可重复进行。双引号“”内为定义名称。

git config --global user.name "breakloop"git config --global user.email "breakloop@sina.com"

(4)创建版本库
通过cd命令进入想要创建版本库的目录,输入指令

git init

这里写图片描述

Git 会在目录下创建一个隐藏文件夹,“.git”。
注:若删除该文件夹,所有版本信息将清空。

(5)什么是版本库?什么是工作区?什么是暂存区?
版本库即隐藏文件夹”.git”。
工作区,即与“.git”隐藏文件夹同一目录的,除“.git”外的所有内容。
暂存区位于版本库内,即临时版本。
版本库创建后,将当前分支定义为master。HEADER为分支上的当前指针位置。

(6)将文件提交至暂存区
在工作区内创建文件1.txt,并输入”hello world”。
在Git Bash内输入,git add 1.txt,即将1.txt提交至暂存区。
但暂存区中的内容,并没有分配一个固定的版本号。只有在确认提交后,才被分配。

(7)查看文件内容
输入 cat 1.txt 查看文件内容

这里写图片描述

(8)查看是否还有其他更新未提交
在工作区中创建2.txt,输入“I love this game”
在Git Bash中输入 Git Status.
Git会用红色字体,显示已更新但提交的文件。
可用git add 2.txt将其也添加至暂存区。
这里写图片描述

(9)确认提交
在Git Bash中输入 Git commit -m “XXXX”,其中”XXXX”为相关描述。
这里写图片描述

(10)查看与上一版本的不同
在1.txt中添加,“See you”
在Git Bash中,输入 git diff “1.txt”

这里写图片描述

将1.txt再次添加至暂存区,并提交

这里写图片描述

(11)查看日志
在Git Bash中输入 git log
若想查看简介log,可以在Git Bash中输入,git log –pretty=oneline

这里写图片描述

(12)查看版本号
在Git Bash中输入 git reflog

这里写图片描述

注:“HEAD”前的部分即为版本号,版本号可用于版本回退。

(13)回退之前版本
我们在工作区添加3.txt,并提交新版本。

这里写图片描述

但我们突然发现bug,想退回至上一版本,或上上一版本,或者上上…上一版本。
我们可以在Git Bash中输入,Git reset –hard HEAD^
例如,我们向前退两个版本。

这里写图片描述

注:没多一个“^”,表示向前多退一个版本。
退回后,你会发现,log变少了,但使用reflog,还是能看到所有的版本号。

那么问题来了,如何再退回到1.0.3版本?这里需要使用版本号。
在Git Bush中输入,git reset –hard XXXX。“XXXX”代表版本号。

这里写图片描述

注:仔细观察,你会发现,每次回退操作,Git也视为一次版本更新,分配一个版本号。

(14)退出Git Bash
输入指令

exit

或者

logout