一、Git概述

git是目前世界上最先进的分布式版本管理系统

1、Git和Github的区别

Git是一个分布式版本控制系统,简单的说就是一个软件,用于记录一个或若干文件内容变化,以便来查阅特定版本修订情况的软件。

Github是一个为用户提供Git服务的网站,简单说就是一个可以放代码的地方(也可以放其他内容)。Github除了提供管理Git的web界面外,还提供了订阅、关注、讨论组】在线编辑器等丰富的功能。

Git 并不像 SVN 那样有个中心服务器。

目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。本例使用了 Github 作为远程仓库

2、Git的工作流程

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

image.png

3、Git的安装

下载地址:https://git-scm.com/download/win
安装诀窍:闭着眼一直点 下一步

默认的安装路径: C:\Program Files\Git
最好是用他的默认路径

桌面右键打开 git bash 就可以使用Git提供的终端, git --verison 指令可以查看git版本

4、安装小乌龟 TortoiseGit

image.png
image.png

4.1 汉化小乌龟

语言包在官网就可下载:https://tortoisegit.org/download/
直接执行即可
右键 找到 TortoiseGit ——->settings 更改语言
image.png

二、Git的使用

1、 创建版本库

什么是版本库呢?版本库又名仓库,英文名Repository,你可以简单的理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能追踪,以便任何时刻都可追踪历史,或者在将来某个时刻可以还原,由于git是分布式管理工具,所以git在没有网的情况下也可以使用。

E:\Git\repositorys\repo1 该目录下右键 小乌龟---->在此处创建版本库【不要勾选创建纯净库】

2、往本地版本库中添加文件

如果要往本地本版库中添加一个文件的话,那么该文件必须和 .git 保持同级目录

2.1 创建文件

image.png

2.2 添加到暂存区

image.png
image.png

2.3 添加到版本库

image.png
image.png
image.png

2.4 查看本地仓库有什么

image.png

2.5 修改文件内容并提交

image.png
然后在文件上右键Git提交-->master 写一个日志 即可提交

2.6 文件的删除

  • 直接在目录中删除 HelloWorld文件
  • 右键tortoiseGit 列表中有还原 可以还原

以上操作完成后,版本库中还是会有HelloWorld文件

删除版本库中的文件:
在目录删除掉HelloWorld文件后,提交一次,这样版本库中也没了

3、工作区和暂存区

Git和其他版本控制系统如SVN 的一个不同之处就是有暂存区的概念。

暂存区就是一个暂时存放文件的区域,如果文件加到版本库需要 【添加到暂存区—->commit到版本库】

3.1 什么是工作区

工作区就是你都在电脑里能看到的目录,如果我的repositroy文件夹就是一个工作区。

  • repositroy目录是 工作区
  • .git文件夹 版本库

三、在GitHub上创建仓库

注意:创建时不要选中readme 之类的文件,直接创建空的仓库即可,不然上传时很费劲
image.png
image.png

1、SSH方式连接github

1.1 创建ssh密钥及在github上配置公钥

打开git bash 输入 ssh-keygen -t rsa 指令,然后回车会提示你输入,不用管直接回车即可。
默认密钥对的生成位置:C:\Users\仝子瑜\.ssh
image.png
配置公钥:github头像——>settings——>SSH and GPG keys —- 把公钥复制过来—->保存

1.2 使用SSH的方式把本地仓库推送到github

在工作目录下 打开 git bash 输入下面命令

每次创建一个新的仓库就会有该指令

image.png

1.3 使用小乌龟工具把本地仓库推送到github

右键—->Git 同步 —>管理—->配置一下SSH信息
image.png

image.png

2、Https方式连接github

使用Https推送的话,就不需要密钥了,而是使用github的用户名和密码
image.png
在推送的时候 会让你输入账号和密码

四、克隆远程仓库到本地

使用 git clone https/ssh地址 命令也可以
使用 小乌龟工具也可以

五、分支管理

1、创建合并分支

在我们每次的提交,Git都把它们串成一条时间线,这条时间线就是一个分支,截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。Head指针严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前的分支。

一开始的时候,master分支是一条线,git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点

image.png
创建并切换分支:
image.png

2、合并分支:

最终想留下谁,就先切换到哪个分支
然后选择合并
image.png
image.png

六、IDEA中使用git

1、IDEA中配置Git

需要手动在IDEA中配置一下Git的路径

File —-> Settings —-> Version Control —->Git
image.png

2、IDEA中创建一个本地仓库

最好是选择上一级目录

小技巧:
先在GitHub中创建一个仓库
在我的电脑中对应项目中把该仓库克隆下来【注意工作目录】
这样项目中就有了Git
image.png

3、使用IDEA克隆仓库并同步代码

image.png
image.png

4、IDEA从GitHub克隆项目

image.png
image.png

5、IDEA中选择分支

image.png