Git/Github操作指南

一、前言

该技术博客是我学习黑马的git教程过程中做的笔记总结,图文丰富,操作流程详细。方便大家的学习同时也方便自己的复习和日后的使用。

博客1.7万字左右,图文非常全面,总结不易、感谢收藏,日后还会继续完善更新该博客!
在学习Git之前我们需要先下载安装两个软件(最新版本即可)

  1. Git——Git下载地址
  2. TortoiseGit(Git版本控制系统的源客户端)——TortoiseGit下载地址

安装成功后,在桌面单机鼠标右键出现这样的菜单,说明安装成功!
在这里插入图片描述

二、什么是Git

Git是分布式版本控制系统:他没有中央服务器,每个开发者电脑就是一个完整的版本库。
这样工作时候就不需要联网了,因为版本都是在自己的电脑上。不需要连接中央服务器提交代码。
我们每一个开发人员的电脑上都有一个本地仓库,我们就可以使用本地仓库来实现代码的管理,我们可以在本地把代码加到版本库中,我们就可以对文件进行增删改查的操作。
如果我们在开发一个项目时,只有一个开发人员,不需要和别人交换代码,我们只需要本地仓库,不需要远程仓库
如果是多人协作开发项目,那么我们就需要交换代码,这时就需要一个远程仓库远程和本地仓库中的内容其实是一样的,我们需要做的是将本地仓库向远程仓库复制 一份。如果别人想把远程仓库的代码拿到本地仓库,需要再复制一份!这样其实就是复制了整个仓库。
我们开发人员从远程仓库复制一份完整的仓库放到本地,如果不需要交换代码就不需要远程仓库,本地就是一个闭环!这就是对Git的理解

三、Git的工作流程

一般工作流程如下:

  1. 从远程仓库中克隆(Clone)Git资源作为本地仓库
  2. 从本地仓库中Checkout代码然后进行代码修改
  3. 在进行提交前先将代码提交到暂存区
  4. 提交修改,提交(Commit)到本地仓库,本地仓库中保存修改的各个历史版本
  5. 在修改完成后,需要和团队成员共享代码时,可以将本地仓库代码Push到远程仓库

Git工作流程图示如下:
在这里插入图片描述

四、创建本地仓库

我们先在桌面上创建一个repository文件夹,在文件夹中再创建一个repo1文件夹
在这里插入图片描述

我们在repo1文件夹中演示如何创建本地仓库,有三种方式根据你的喜好,自行选择

1、Git Gui

  1. 点击Creat New Repository在这里插入图片描述
  2. 输入文件夹路径,点击Create在这里插入图片描述
  3. 文件夹中出现了.git(隐藏文件,如果看不到百度搜索如何查看隐藏文件
    在这里插入图片描述

2、Git Bash

  1. 在命令行中输入 git init(这样也可以初始化一个本地仓库!)
    在这里插入图片描述

3、使用TortoiseGit创建

  1. 在文件夹下单击此选项,单击Git Create repository here(GIt 在这里创建版本库)
    在这里插入图片描述
  2. 不要勾选!点击OK,即本地仓库创建成功!
    在这里插入图片描述

五、向本地仓库添加文件

刚刚我们学会了三种创建本地仓库的方式,接下来我们需要向本地仓库中添加文件
.git就是本地仓库,而repo1文件夹就是工作目录,如果我们想在本地仓库中添加文件,那么这个文件必须在工作目录下!(就是将文件放到repo1文件夹下)。

我们在repo1文件夹下创建一个hello.txt文件
在这里插入图片描述
我们想将hello.txt文件加入到本地仓库中去,就应该把该文件放到工作目录下!
在txt文件上右键,找到TortoiseGit(T),点击Add,就添加完成了!
这个时候,我们的txt文件从工作目录(工作区)就加载(Add)到了暂存区! 但是还没有加到本地仓库中!

这时候直接点击下图中的Commit就可以直接提交到本地仓库中,但是我们先不直接提交到本地仓库!
在这里插入图片描述
这个时候由于还没有添加到本地仓库,所以我们还需要Commit(提交)从暂存区提交到本地仓库中
我们创建一个本地仓库,就会默认带上一个分支叫做master(主分支),我们就把txt文件提交到master!
在这里插入图片描述
这个Added状态,就说明我们的文件添加到暂存区中了!
在这里插入图片描述
但是我们提交代码之前,一定要去写日志信息,把我们本次提交修改了哪些内容一定要写上,这是一个好习惯
点击完commit之后,才算是将txt文件从暂存区添加到本地仓库中
在这里插入图片描述

六、修改文件内容并提交

当我们对txt文件内容进行修改之后,就需要进行第二次提交了,被修改后它的文件状态变成了Modified
我们给他添加日志信息后,提交就完成了!以后还想修改就再次修改提交即可!
在这里插入图片描述
我们也可以查看我们修改提交的历史:在txt文件上右键–>TortoiseGit–>Show Log(显示日志)
同样也可以看到每次提交修改了哪些内容,由于我只进行了一次修改,就不做过多演示!
在这里插入图片描述

七、删除本地仓库中的文件

我们先创建一个hello2.txt文件提交到本地仓库中,然后打开版本库浏览器:TortoiseGit–>Repo-browser
这时我们发现hello2.txt也被加载到本地仓库中了!
在这里插入图片描述
但是有时候我们会一不小心删除我们需要的文件,这时候我们不用担心,依旧可以还原删除的文件!
通过点击TortoiseGit–>Revert,选中文件,点击确定即可还原我们误删的文件
在这里插入图片描述
虽然我们手动删除了hello2.txt文件,但是在版本库浏览器(Repo-browser) 查看依然存在着,说明还在本地仓库中,并没有真正意义上删除!
在这里插入图片描述
这个时候我们在点击提交,就会发现hello2.txt是缺失的,我们将删除操作提交到本地仓库中,本地仓库中hello2.txt文件就真的被删除了!
在这里插入图片描述
这个时候我们再打开版本库浏览器(Repo-browser) 就发现hello2.txt消失了!这才是真正意义上的删除成功!

但是有些时候,我们想删除本地仓库中的文件,但在工作目录下要保留下来,该如何操作?
单机右键选中文件,TortoiseGit–>Delete(keep local),接下来Git Commit master提交,这时候就是删除本地仓库的hello3.txt,工作目录中保留下来了!此时查看版本库浏览器(Repo-browser) 就发现hello3.txt不存在本地仓库中了!
在这里插入图片描述

八、将Java工程添加到本地仓库

我们要想把Java工程添加到本地仓库中去,就必须先将工程放到工作目录中(也就是repo1目录下)。
接下来就可以将工程加到本地仓库中去。

将项目加到暂存区后,我们发现并不是工程中所有的文件都需要提交到本地仓库中(例如.idea、out等),我们需要选中项目中这两个文件,右键–>TortoiseGit–>Delete and add to ignore list–>Delete and ignore 2 items by name ,然后选中下图中的两个选项,点击OK!
在这里插入图片描述
最后,点击,将忽略的文件继续保留到本地文件夹中,大功告成!
在这里插入图片描述
忽略文件夹之后,.gitignore文本文件也需要提交到本地仓库中去(这个文件中罗列出你忽略的文件名),因为这个文件会告诉其他开发者这两个文件夹也需要忽略。所以这个文本文件也需要加到本地仓库中!

在这里插入图片描述
所以我们接着把.gitignore文件先加到暂存区中!该忽略的忽略,该添加的添加
然后,我们将Java工程文件提交到本地仓库中,这样我们就把Java工程提交到本地仓库中去了!
在这里插入图片描述

九、使用github创建一个远程仓库

如果只有你自己一个开发项目,那么本地仓库足够使用了。
但是我们在实际开发中会有很多人同时开发,这个时候就需要交换代码
这个时候,就需要远程仓库了!光有本地仓库是远远不够的!
我们就需要在github上创建一个远程仓库了!

首先我们要注册一个账户,登录到github,该步骤我就省略了。

进入到首页后我们先点击Start a project
在这里插入图片描述
这样我们就进入创建仓库的页面,按照下图中操作即可创建一个远程仓库
在这里插入图片描述

十、将本地仓库内容推送到远程仓库(HTTPS、SSH)

说白了,这步操作(Push)就是:把本地仓库复制一份给远程仓库
那么我们该如何操作?

我们有两种通信方式:HTTPS、SSH,这两种方式都需要掌握
在这里插入图片描述
我们先学习SSH方式推送!

1、SSH方式:

1.1、创建SSH密钥并在github上配置公钥

我们要想使用SSH方式把本地仓库推送到远程仓库,就需要生成密钥对。我们该如何生成呢?
这时候我们需要使用Git Bash命令行了!
我们来到工作目录下,打开Git Bash输入:ssh-keygen -t rsa这样就生成了一个密钥对
在这里插入图片描述
生成的密钥对放在哪里呢?就是存放在用户目录下的.ssh文件夹中
在这里插入图片描述
.ssh文件夹中存放着密钥对,公钥需要告诉github服务器
在这里插入图片描述
我们打开公钥文件,将里面的内容复制好,打开github,点击头像点击settings
在这里插入图片描述
接着点击SSH and GPG keys–>New SSH Key
在这里插入图片描述
这样github就知道我们的公钥是什么了!我们就不需要输入用户名和密码,直接和服务器通信,保证我们的通信是安全的!
这样我们就把公钥配置好了! 接下来我们就可以使用命令行和远程仓库建立连接,然后把本地仓库推送到远程!

在这里插入图片描述

1.2、使用SSH方式将本地仓库推送到远程

接下来我们就可以使用命令!首先与github服务器建立连接,然后把本地推送到远程!(可以使用命令行,也可以使用TortoiseGit)
我们采用的是命令行的方式,不打算使用客户端推送(太麻烦繁琐,不推荐使用)!
首先我们来到工作目录下,打开Git Bash! 输入命令!

git remote add origin git+SSH路径

在这里插入图片描述
路径在这里!
在这里插入图片描述
这样就与github服务器建立了连接
然后需要将本地仓库推送到远程仓库,输入命令:

git push -u origin master

在这里插入图片描述
出现上图中的情景,恭喜你,推送成功!!
这时候我们打开github中的远程仓库,就会发现本地仓库中的内容被推送到远程仓库中了!
在这里插入图片描述

2、HTTPS方式

接下来讲解HTTPS方式通信,这个方式和SSH方式简直如出一辙,有了SSH的经验,我就大致讲解以下HTTPS了
首先还是在工作目录下打开命令行,输入命令,建立远程连接!

git remote add origin+HTTPS路径

在这里插入图片描述
然后输入命令:
在这里插入图片描述
最后输入:出现以下情景,推送成功
在这里插入图片描述
我们使用HTTPS的方式就不需要生成密钥对!
以上就是把本地仓库推送到远程的两种方式!

十一、克隆远程仓库到本地仓库

克隆可以理解成复制的意思,我们接下来讲讲如何如何将远程仓库克隆到本地仓库
我们在这个空目录下,克隆远程仓库
在这里插入图片描述
我们打开github上一个远程仓库repo2,我们克隆远程仓库有三种方式,我们常用的还是HTTPS、SSH这两种方式!选择哪种都行
克隆的时候不需要身份认证!因为是个public的仓库,github上的代码都可以免费的下载克隆
当然使用SSH方式还是需要配置密钥对,使用HTTPS就无所谓了!
在这里插入图片描述
我们拿SSH方式举例(HTTPS方式同理!),复制以下SSH链接,在clone-repos目录下打开命令行输入:git clone+SSH地址
在这里插入图片描述
出现上述情景,说明克隆成功了,打开文件夹就能看到克隆的文件!
在这里插入图片描述

使用HTTPS的方式同理,我们就不做演示了! 将链接修改成HTTPS即可!
不要问我为什么不使用TortoiseGit图形化界面的方式,因为操作太复杂,不建议使用!!

十二、使用Idea将项目添加到本地仓库中

我们找一个自己电脑中的Java项目,我们要把这个项目推送到本地仓库中
我推送之前需要在idea中配置一下git:
在这里插入图片描述
配置完之后我们先创建一个本地仓库:
在这里插入图片描述
我们创建本地仓库时,要选择项目的上一层目录:IdeaProjects,在这个目录下创建本地仓库,所以这个目录才是工作目录,我们要提交的项目就在工作目录中了!正合我意!
在这里插入图片描述
这样我们就创建了一个本地仓库,我们也会发现Idea上方发生变化:
在这里插入图片描述
此时我们的项目被自动加入到暂存区中,并没有进入本地仓库中,我们需要做的是提交到本地仓库!我们要点击commit按钮,会出现Commit Changes提示框,我们选中四个√,输入提交信息,点击提交按钮,就成功将项目提交到本地仓库中了
在这里插入图片描述
接下来我将Idea中代码修改,这时候我们就发现代码右侧有绿色竖条,那就是我们新增的部分
在这里插入图片描述

这时候就需要我们再一次提交到本地仓库,点击Idea最上方的Commit按钮,再次提交即可!
此时点击上方的Show History按钮就可以查看我们提交的历史了!
在这里插入图片描述

十三、使用Idea推送与克隆远程仓库并同步代码

1.推送到远程仓库

我们刚刚帮代码提交到本地仓库了,接下来我们继续把代码push到远程仓库中:
在这里插入图片描述
此时就弹出以下提示框,让我们填写HTTPS路径,然后点击OK!
在这里插入图片描述
此时我们直接点击Push按钮后,输入用户名和密码就推送成功了!
在这里插入图片描述
此时我们去远程仓库刷新就可以看到我们提交的代码了!

2.克隆远程仓库

我们打开idea,我们是没有工程的,我们要从远程仓库克隆代码,点击下图按钮
在这里插入图片描述
然后出现以下提示框,填写好路径,点击OK克隆成功了!
在这里插入图片描述

3.同步代码

刚才我们修改了代码并推送到远程仓库了,其他的开发人员想要得知修改的内容直接点击按钮,就能自动更新代码,就把远程仓库中的修改拉取到本地项目中了! 这就是代码同步,你只要有修改的内容就推送到远程,其他开发人员就可以从远程拉取下来,就OK!
在这里插入图片描述

十四、总结

总结梳理不易,如果对您有帮助,感谢打赏
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46594796/article/details/113102610