Git 是一种版本管理工具,也可以叫备份管理工具。在进行编程时,要对代码进行备份或其他操作时,使用的一种工具。
首先,要明确Git 在进行版本管理时,面对的一个大的对象是仓库(repository)。所谓仓库其实就是一个文件夹。也就是说,我们的第一步就是创建一个文件夹,并进入这个文件夹。比如:
进入这个仓库之后,第一步要做的就是初始化这个文件夹。初始化的作用就是——告诉git,我们要开始管理这个文件夹了。使用的命令是:git init。
执行完git init 命令之后,git就在这个git-tutorial文件夹里面创建了一个新的文件夹.git。但是,这个文件夹是一个隐藏文件夹,我们是看不到的。这个.git的文件夹里面储存的是——管理当前目录内容所需的仓库数据。
接下来,就要用到git中最重要的命令——git status。这个命令的作用是查看当前文件夹里面各个文件的状态,每次用git进行完一步有关文件的操作,最好都要git status一次,来查看一下当前的状态,以方便接下来的操作。如图:
翻译一下就是:处在分支master下,初始化提交,没有要提交的东西。这里强调一下什么是提交(commit),就是——记录文件。
在创建的文件夹git-tutorial里面,现在还没有要管理的文件,可以根据自己的需要创建自己需要的文件,用touch+文件名。比如:
这里有个untracked files,表示未被跟踪的文件。也就是说,刚才新建的这个叫README.md的文件,git没有跟踪到,就是git不管。
那么,如何让git 对其进行跟踪,让git去管理它呢?这个时候,要用到的命令是:git add + 文件名。这个命令的作用是让git开始管理文件,执行完这个命令,git 就将文件放入了暂存区。暂存区是提交之前的一个临时区域。好比是求职面试的时候,面试者的等待区域,git叫到谁,下一步谁就进去面试。git add 就是通知一些符合面试条件的人,来等待区进行面试。
执行完git add 之后,再执行git status,就会看到:
可以看到changes to be committed ,准备去提交,就是已经将README.md文件放入了暂存区。
现在,文件都已经准备就绪,就差提交了。使用命令:git commit -m “自命名”进行提交。git commit命令就是将文件提交,将暂存区的文件,保存在仓库的记录中。就是将这个文件记录下来,以后就可以根据这些记录的信息复原文件了。这里的自命名,是一个参数,自己根据情况可以随便命名,这个参数是对这次提交的一个概述。
记住,每次执行完一个git命令,就要进行一次git status,来查看当前的情状和状态。这次也不例外,执行git status,就可以看到:
意思就是,没有文件要提交了,工作区域是干净的。
到这里,基本的提交工作就已经结束了。但是,我们还可以对提交进行查看。使用git log来查看提交的日志。输入git log就可以看到:
如图:commit后面的显示“839.......”是一个哈希值,每提交一次,就产生一个哈希值。Author就是自己电脑上的git的用户名和邮箱地址。Date后面显示的是,提交执行的日期和时间。在下面的First commit就是上面提交时,我们自己命名的。
最后,我们在自己创建的README.md文件中写入一些东西。用vim打开README.md文件,写入:
这个时候,由于我们在文件README.md文件进行了写入,这个文件就发生了变化,可以用git diff查看前后的差别:
解释一下,最下面的“+”就是文件中新添加的内容。“-”就是被删除的内容,当然,这里面没有,因为我们并没有删除任何内容。