# Git使用教程

Git是目前世界上最先进的分布式版本控制系统,几乎所有的公司都会使用Git工具来进行版本控制,Git成为程序员必要学习的知识之一。你还在等什么,赶快跟我来看看吧~

# 安装Git工具

  • 首先打开Git官网,下载对应操作系统的版本

    国内用户打开下载可能比较慢,请科学上网或者直接下载我上传的版本,可能版本不是最新的

  • 下载后进行默认安装即可,然后右键桌面,即可看到新增两个选项

    img

    • Git GUI Here 是图形化界面的Git工具
    • Git Bash Here 才是我们需要的命令行工具
  • 我们打开Git Bash Here,就会打开一个类似CMD的命令行工具,到此,Git工具的安装已完成。

    img

# 配置Git工具

接下来我们需要配置一下Git工具的信息

先打开Git Bash Here,然后需要配置这两个信息:

  • 配置用户名

    git config --global user.name "hcer1999"
    
  • 配置邮箱

    git config --global user.email "bingkelele007@163.com"
    

因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。

# 使用Git工具

我们已经配置好信息了,可以正式开始使用Git工具了。

首先,我们需要管理某个项目,就需要在这个项目的根目录中初始化Git仓库。

# 初始化仓库

我们先在项目的根目录空白处右击,打开Git Bash Here,然后输入以下代码,即可初始化一个Git仓库。

git init

然后它会在当前目录下生成一个.git的隐藏文件夹(要打开显示隐藏文件夹才能看到)。

这个文件夹是Git来跟踪管理版本的,没事千万不要乱改这个目录里的文件,否则,会照成仓库损坏。

# 提交文件至仓库中

我们假如现在在这个仓库中写了一些代码,我新建一个文本文档并写入一堆1作为演示:

然后在Git命令行中,输入git status,可以查看当前仓库的状态。

然后,我们需要将他添加到暂存区,大家先不用管暂存区是什么东西,可以理解为中转站,文件必须先添加到暂存区才能再添加到仓库区

需要将文件添加到暂存区,需要这个指令git add 文件名,如果需要一次性添加所有文件,则可以使用git add .,这个点代表当前目录下所有文件。

我们提交之后如果成功,则不会有任何提示。然后我们再次输入git status来查看当前仓库的状态。

最后,我们需要使用git commit来将暂存区的文件添加到仓库区。

注意

每次commit需要带上-m 注释,例如git commit -m '第一次提交',注释需要用双引号包起来。

img

# 检测文件变更

如果我们对已经提交的文件进行修改,会怎么样?

我现在对text.txt,在最后添加一行22222

然后使用gita status查看状态

上面的命令告诉我们text.txt文件已被修改,但是未被提交。

注意

Git工具只能检测到文本的改动,例如网页文件各类重新代码文件等。但是不能检测到图片和视频文件的改动。

我们可以使用git diff命令查看文件的改动,例如git diff text.txt

我们可以清晰的看到文件有哪些改动

修改后,我们可以再次提交文件

提交完成后,可以使用git log命令查看当前仓库的提交信息

我们可以清晰的看到,每次提交的时间信息,提交的人的信息,以及我们的备注。

# 版本回退

我们学会了修改文件,现在我继续对text.txt文件进行修改,再新增一行3333,并提交到仓库中

OK,现在我们已经有了三次提交了,但是如果我们感觉这段代码写的不好,想回退到第二次提交的状态该怎么操作呢?有如下两种命令:

git reset --hard HEAD^

这个命令表示回退到上个版本,如果我们要回退到上上个版本只需要把HEAD^改成HEAD^^,以此类推。

但是,如果我们有100个版本,我们要回退到底2个版本,那我们岂不是要敲90多个^吗。

所以,我们可以使用以下简便命命令操作:

git reset --hard 版本号

版本号我们通过git log命令可以看到每次提交的commit后面的那一大串字符串。

我们先看看当前text.txt的文件内容,可以使用 cat text.txt查看。

可以看到,现在是第三个版本,所以内容有里面有一堆3。

我们使用第二种方法回退到上个版本

OK,我们现在成功回退到第2个版本了,我们再使用cat命令看看文件内容

可以看到,文件内容成功回退到第二次提交时的内容了

# 恢复版本

现在我们已经回退到第二个版本,那么如果我们需要再次回到第三个版本中,那该怎么操作呢?

我们当然也可以使用git reset --hard 版本号来恢复到第三个版本,但是,如果我们不知道第三个版本的版本号,恰巧Git窗口又是重新打开的,没有记录了,那怎么查看第三个版本的版本号呢?

我们可以使用git reflog命令查看所有历史记录的版本

OK,我们现在已经看到第三次提交的版本号了,我们直接复制出来使用git reset --hard 命令恢复即可。

我们可以看到文件的内容已经恢复成第三次提交时的内容了。

# 创建分支

我们在开发大型项目的时候,往往会多人协作,每个人负责不同的版块的开发,这个时候,我们就需要用到Git工具的创建分支功能了。

当我们没有创建分支的时候,默认是操作的主分支,即master分支。

创建分支使用git checkout 分支名命令

切换到某个分支可以用git branch 分支名命令

我们可以在创建分支之后直接切换到该分支,只需要在后面加上-b即可。首先,我们来创建一个dev分支

我们可以看到,成功创建了一个dev的分支,并且已经切换到这个分支中。

我们在分支中的操作不会影响到主分支中的文件

# 合并分支

那我们在dev分支下创建一个test.txt,然后将此文件添加到仓库区中

然后我们切换回主分支,使用git checkout master命令

再查看当前目录下的文件

我们发现并没有刚才创建的test.txt文件,这是怎么回事呢?

我刚才说过,在分支下的操作并不会影响到主分支中的文件,这样就很方便我们进行多人协作开发。

好了,假如我们现在dev分支的功能已经开发完了,要怎么合并到主分支中呢?

我们先切换到master分支中,然后使用git merge 要合并的分支名来进行合并,例如:

至此,已经成功将其他分支的内容合并到主分支中

总结一下关于分支的命令:

  • 查看分支:git branch
  • 创建分支:git branch name
  • 切换分支:git checkout name
  • 创建+切换分支:git checkout -b name
  • 合并分支:git merge name
  • 删除分支:git branch -d name

# 使用远程仓库

先打开Github的官方网站,注册个账号

然后点击右上角的小加号然后选择New repository创建一个仓库

然后在页面中输入对应的信息

如果你没勾选生成初始化README文档,俺么在仓库的页面中,我们可以看到这样的信息

我们发现git init git add git commit这三个命令我们已经执行过了。

然后我们只要执行最后的两条命令即可将项目上传至Github

直接复制下来,在Git窗口中粘贴执行

没有任何提示,这个时候我们输入git remote -v可以查看远程仓库的详细信息

可以看到,有远程仓库的连接信息

这个时候,我们只需要执行最后一行命令即可将项目上传至远程仓库中

再次复制过来执行一下,会弹出两个消息框,需要输入github的账号密码

输入完github的账号密码后,就会立即将项目中的文件上传至github

出现这样的提示,说明我们的项目上传成功了

我们回到github的仓库页面中,会发现我们项目里的文件出现在了页面中

OK啦,这就是本篇的全部内容啦,感谢观看~

高级的操作以后再更新吧,学会这些你就已经可以满足日常开发的需求啦~

上次更新: 4/24/2020, 12:02:24 AM