文章目录
一、前言
该技术博客是我学习黑马的git教程过程中做的笔记总结,图文丰富,操作流程详细。方便大家的学习同时也方便自己的复习和日后的使用。
博客1.7万字左右,图文非常全面,总结不易、感谢收藏,日后还会继续完善更新该博客!
在学习Git之前我们需要先下载安装两个软件(最新版本即可)
- Git——Git下载地址
- TortoiseGit(Git版本控制系统的源客户端)——TortoiseGit下载地址
安装成功后,在桌面单机鼠标右键出现这样的菜单,说明安装成功!
二、什么是Git
Git是分布式版本控制系统:他没有中央服务器,每个开发者电脑就是一个完整的版本库。
这样工作时候就不需要联网了,因为版本都是在自己的电脑上。不需要连接中央服务器提交代码。
我们每一个开发人员的电脑上都有一个本地仓库,我们就可以使用本地仓库来实现代码的管理,我们可以在本地把代码加到版本库中,我们就可以对文件进行增删改查的操作。
如果我们在开发一个项目时,只有一个开发人员,不需要和别人交换代码,我们只需要本地仓库,不需要远程仓库。
如果是多人协作开发项目,那么我们就需要交换代码,这时就需要一个远程仓库。远程和本地仓库中的内容其实是一样的,我们需要做的是将本地仓库向远程仓库复制 一份。如果别人想把远程仓库的代码拿到本地仓库,需要再复制一份!这样其实就是复制了整个仓库。
我们开发人员从远程仓库复制一份完整的仓库放到本地,如果不需要交换代码就不需要远程仓库,本地就是一个闭环!这就是对Git的理解!
三、Git的工作流程
一般工作流程如下:
- 从远程仓库中克隆(Clone)Git资源作为本地仓库
- 从本地仓库中Checkout代码然后进行代码修改
- 在进行提交前先将代码提交到暂存区
- 提交修改,提交(Commit)到本地仓库,本地仓库中保存修改的各个历史版本
- 在修改完成后,需要和团队成员共享代码时,可以将本地仓库代码Push到远程仓库
Git工作流程图示如下:
四、创建本地仓库
我们先在桌面上创建一个repository文件夹,在文件夹中再创建一个repo1文件夹
我们在repo1文件夹中演示如何创建本地仓库,有三种方式,根据你的喜好,自行选择!
1、Git Gui
- 点击Creat New Repository
- 输入文件夹路径,点击Create
- 文件夹中出现了.git(隐藏文件,如果看不到百度搜索如何查看隐藏文件)
2、Git Bash
- 在命令行中输入 git init(这样也可以初始化一个本地仓库!)
3、使用TortoiseGit创建
- 在文件夹下单击此选项,单击Git Create repository here(GIt 在这里创建版本库)
- 不要勾选!点击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!
十四、总结
总结梳理不易,如果对您有帮助,感谢打赏!