Git是什么?


​ git是是一个强大的分布式版本控制系统软件,而且是开源、免费的,还不用联网,程序员应当都应当了解这款软件。

Git如何使用?


​ 我下面介绍的是linux系统下的操作,当然windows、Mac也可以用,但我这里不做介绍(因为我没用过)。

Git下载

​ 首先你得下载一个git,一般情况下你下的linux系统都会自带git,你可以输入

#git --version

来检查你的系统是否已经安装了git,若没有,则输入以下指令进行安装。

#sudo apt update
#sudo apt install git

这里说一下,linux系统下安装软件前一定要记得update!

Git账户

​ 然后就是设置git账号了。

#git config --global user.name "xxxxxx"
#git config --global user.email "xxxx@xxxx.com"

打叉的地方是你自己写的东西。你可以再设置更改账户名称或邮箱地址。

你可以输入

#git config --list

来查看是否配置成功。

Git基操

​ git的实现分为三大区,工作区,暂存区,版本库,其中最为关键的就是这个暂存区,应用的时候自然会感受到git的强大。

​ 首先创建一个文件夹当做工作区,比如

#mkdir gitlearn
#cd gitlearn
#git init

这样一个工作区就创建好了,如果用ls -a指令查看文件夹的话,你会发现一个.git文件夹,这个文件夹最好不要轻易修改。

创建好了工作区,接下来就是文件了。新建一个test.txt文件,输入内容,保存退出。

用指令

#git status

你会发现如下语句

On branch master                                                                        Initial commit                                                                         Untracked files:                                                                       	(use "git add <file>..." to include in what will be committed)                               test.txt                                                                       nothing added to commit but untracked files present (use "git add" to track)

最后一句他叫你使用git add语句去track,track什么意思?追踪?跟add有啥关系?其实就是追加,追加到暂存区,这个以后再讲。那就来track吧

#git add test.txt

输入完再使用git status查看当前状态,

On branch master                                                                       Initial commit                                                                         Changes to be committed:                                                                 (use "git rm --cached <file>..." to unstage)                                                 new file:   test.txt

你可能看不懂,看到他让你使用git rm --cached <file> ...来unstage,unstage啥意思?去缓存,就是从暂存区删除,看到rm就应该感觉到不对劲。而我们写好的代码应该上传啊,怎么就删了?其实不然,这里有个单词commit,commit啥意思?提交啊。那就commit呗。 </file>

#git commit -m "get start"

引号里的内容是你对此次文件修改的描述,防止在版本更替的时候一点概念都没有,这是我们创建的第一个文件所以我们来个get start。这个指令会将暂存区的文件上传到本地的版本库。写到这了,下次再更新。

-- 2020.3.18

版本回退

如果有一天我们想放弃当前的修改,回到之前的存档中,我们该怎么做呢?

这里就要用到HEAD指针和reset操作。

首先我们创造几个版本,你提交一次就多了一个版本。

使用git log命令获取最近到最远的修改记录。

直接使用git reset 版本号 就行了

版本号就是那一大串字符,现在有github,方便的多了。