作为一个业余的程序员,我一直对计算机的很多东西感到叹服这或许是小时候没有电脑玩的缘故。

我一直听说GitHub是程序员的社交网站,到底是搞不懂是个啥东西,很是向往,于是专门学了一下。才知道原来是先有Git才有GitHub的呀。林尼克斯脱袜子兄真的是个天才,我要是天才该多好啊,先想想吧哈哈。

 本文是我过了一遍b站up的Git相关的知识后想顺便整理一下,如果错漏,恳请斧正!
                                (附上视频链接:尚硅谷Git入门到精通全套教程(涵盖GitHub\Gitee码云\GitLab)_哔哩哔哩_bilibili

一、什么是Git以及大致原理

        1、一个文件的一个版本创建

        Git是现在最流行的分布式版本控制系统。简而言之就是用来管理文件版本的工具。一般来说有工作区、暂存区、本地库、 远程库这几部分。大致原理是这样的。 

在本地磁盘的某个工作区(某个文件夹)您可以进行文件的各种操作:增删改查等等,这也是我们在个人中所直接看到的地方。

然后通过git add <filename> 命令可以把某个文件添加到暂存区,这个区不是直接看到的,这时候您仍然可以对暂存区的文件进行修改,比如不小心把私密照添加上去了,您还是可以删除的,不会有人知道。

然后,就是通过git commit -m "版本日志”  <filename> 将文件提价到本地库,本地库仍然在本地上,但是很遗憾此时给该文件定下版本号了,已经不支持修改了,您所做的只有不断覆盖现版本,让大家不会注意到这一次版本,遗憾的是版本是可以切换回来的(就好像将一个文件放到一万层文件夹里面,不容易看到,但是已经无法抹去😭)或者删库(除非您真的很怕被人看到,不然我是不建议的)。

这时候一个文件在本地的一个版本就弄好啦,当您对该文件进行任意修改,重复上述步骤即可,注意再次commit到本地库的时候,就是下一个版本了,这就是上面所说的覆盖。有需要的话还可以推到远程库,如果是公开库的话就可以让全世界欣赏了。

        2、分支

一般来说,你会看到叫做(master)的主分支,在您安装的时候是可以修改这个名字的。所谓分支,就是在一个版本正在使用的时候,需要并发地进行修改: 比如农药的一个版本大家正在玩,但是设计师设计了一个新英雄,但是又怕和现版本发生冲突,于是,您可以创建一个与master主分支并行的分支就叫 newhero吧,将当前版本复制过来,写入新英雄,测试,期间又在该支线上提交了诸多版本,没事了再合并到主分支上去,分支可以有很多条,加点钱就可以让他们不眠不休地一夜之间给您上线数十个英雄。值得一提的是主分支和其他分支之间是独立的,当您在主分支下命令合并newhero 这个分支时,newhere 这个分支的版本内容(文件)并没有发生改变。

          3、本质

其实Git就是在进行指针操作, 一个head  一个branch  ,我们工作区具体呈现的是这样的:

 head 是指向分支的指针,分支指向版本号。比如上图,head 指向了master这个分支,master是一个branch,它指向的是forth 这个版本,所以,我们将在工作区看到forth这个版本。如果你要看hot-fit分支中的third(这个是master分支third的副本,这个分支就是从这个版本开始创建的,所以third就是hot-fix这个分支的第一个版本),那么您只需要通过 git checkout hot-fix  即可,其实是hend 从指向master指向了hot-fix ,而hot-fix此时指向了third ,这样,我们就能看到该分支的该版本了。

听力来是不是有点晕,好吧,可能我说的有点问题,为了不误导大家还是推荐大家花点时间看看该视频。下面是具体的内容操作。可能有助于理解。

二、Git的安装

        进入Git的官网下载最新版本即可,推荐跟着视频中相关一节安装,博主有更详细的介绍.

三、Git的简单使用

    1、设置用户签名

此时您应该可以通过鼠标右键看到 git bash here 以及 git gui here (如下图),如果没有,应该是在安装的时候没有添加规则。可以重装或者百度看看修改注册表什么的。(是我就重装)
                        

我们知道bash 是shell的一种,而GUI 是图形界面,我们可以选择一种来进行操作,因为GUI非常简陋(其实是我不会),我们还是用比较有那啥格的bash 命令来操作。 这个here是指从哪里进入,这个也决定了您操作的位置在哪里,您的工作区在哪里!这个很重要。所以务必在您的工作区右键按键git bash here 。 不过设置签名倒不用,哪里都可以,这个命令大多情况下一次性的。

(任意位置进去后)  输入 : 

git config --global user.name <这里输入您喜欢的用户名>

 名字设置后了,然后

git config --global user.email <这里输入您的邮箱,乱写的也行,不过这个在提交版本的时候是会显示的,推荐还是用一个真邮箱吧>

 OK。您可以在windows家目录下,一般来说就是 C:\\user\\xxx ,这个xxx就是您当前使用的用户,如果您不知道,您可以查看bash 界面里 第一行 xxx@yyy  MinGw64, xxx就是用户名,yyy是主机名。找到.gitconfig 文件,打开即可看到您设置的用户名和邮箱。

签名是必要的!当您第一次使用Git不设置签名是会报错的。而签名的作用就是看作者是谁(修改者),这个您等下就鞥呢看到。

2、初始化本地库

  创建一个您喜欢的文件夹,在这个文件下下,右键 然后git bash here 。进去,输入

git init

然后即可以啦。什么!什么都没有发生。好吧,如果是这样,

将隐藏的项目勾选,就可以看到您该目录下出现了.git这个文件夹,看看就好,藏起来就是为了不让您乱动的。

3、查看本地库状态

git status

输入回车即可。刚开始是空的。

 注意看, on branch master 是告诉您,您当前在master分支上,本地库什么都没有(no commits yet), 也没东西提交。(noting to commit ) 还提醒您添加的命令,生怕您不会。

我们不妨先添加一个文件在该文件夹(工作区)。怎么创建都行,平时您怎么创建文件就怎么创建文件。创建一个hello.txt

 然后查看本地库状态 git status 

 发现追到一个 叫hello.txt的文件,没错是我干的。他是红色的,难道是报错吗!不是这样的,这是告诉您,该文件没有保存到暂存区。

4、保存到暂存区

命令是 git add filename 

 warnning 不管他,只要能跑就行(好吧,其实是告诉您Linux下的LF回车格式已经被自动转换成Windows下的CRLF了,这个是安装的时候设置好的)

查看一下状态:git status 

 OK,绿了,已经保存到暂存区了。还记得说过这时候是可以从暂存区删掉的吗: 输入 git rm --cached filename   回车看到

 这时候看状态

 变回了了。 但是文件只是从在暂存区删掉了,它的真身还是老老实实地待在文件夹(工作区)中的。

5、提交本地库

命令是git commit -m "版本日志”  file name  。 注意上面您要是删掉了暂存库还得添加回去,不然就报错喽。

 git add hello.txt 加回去

 可以看到提交的具体信息: 比如上面的 bf56ead 是版本号的前几位,一个文件被修改,原因是一行添加。因为之前什么都没有,我写了 hello 我中意你啊! 就是添加了一行的修改。

看看状态

 没有行动西提交了!搞定.

6、查看版本日志

git reflog   ---精简版

git log     --- 完全版

               无图,因为有作者名和邮箱地址,休想看!

 完全版可以看到完全的版本号,其实前面几个才是拿来用的。

看到这里您已经掌握了最基础的提交一个文件到本地库操作,关于Git还有分支操作以及后续的远程库操作。这时候我才发现写一个博客是这么难,以后不白嫖了┭┮﹏┭┮。感觉有很多东西可以写,但是真的要写下来又要花费很多功夫。我是一个懒人,剩下的就看看视频吧,其实也不难,偷偷告诉您,您看这篇博客浪费的时间已经超过了看视频的时间了(#^.^#)。是我干的

四、其他

注意看这个文件,HEAD 就是头指针,里面是一个路径,其实就是指向 分支名 ,找到这个路径打开。

 

 可以看到里面就是版本号!这就是为什么我说分支名指向的是版本! 当您学了分支操作。可以看到HEAD 以及队形分支名下的文件内容是改变的,就是此时您正在使用的工作区版本号!

再次感谢您审阅本文!

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐