一、Git概述
git是目前世界上最先进的分布式版本管理系统
1、Git和Github的区别
Git是一个分布式版本控制系统,简单的说就是一个软件,用于记录一个或若干文件内容变化,以便来查阅特定版本修订情况的软件。
Github是一个为用户提供Git服务的网站,简单说就是一个可以放代码的地方(也可以放其他内容)。Github除了提供管理Git的web界面外,还提供了订阅、关注、讨论组】在线编辑器等丰富的功能。
Git 并不像 SVN 那样有个中心服务器。
目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。本例使用了 Github 作为远程仓库
2、Git的工作流程
- 从远程仓库中克隆Git资源作为本地仓库
- 从本次仓库中checkout代码然后进行代码修改
- 在提交前先将代码提交到暂存区。
- 提交修改,提交到本地仓库,本地仓库中保存修改的各个历史版本
- 再修改完成后,需要和团队共享代码时,可以将代码push到远程仓库
3、Git的安装
下载地址:https://git-scm.com/download/win
安装诀窍:闭着眼一直点 下一步
默认的安装路径: C:\Program Files\Git
最好是用他的默认路径
桌面右键打开 git bash 就可以使用Git提供的终端, git --verison
指令可以查看git版本
4、安装小乌龟 TortoiseGit
4.1 汉化小乌龟
语言包在官网就可下载:https://tortoisegit.org/download/
直接执行即可
右键 找到 TortoiseGit ——->settings 更改语言
二、Git的使用
1、 创建版本库
什么是版本库呢?版本库又名仓库,英文名Repository,你可以简单的理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能追踪,以便任何时刻都可追踪历史,或者在将来某个时刻可以还原,由于git是分布式管理工具,所以git在没有网的情况下也可以使用。
在 E:\Git\repositorys\repo1
该目录下右键 小乌龟---->在此处创建版本库
【不要勾选创建纯净库】
2、往本地版本库中添加文件
如果要往本地本版库中添加一个文件的话,那么该文件必须和 .git
保持同级目录
2.1 创建文件
2.2 添加到暂存区
2.3 添加到版本库
2.4 查看本地仓库有什么
2.5 修改文件内容并提交
然后在文件上右键Git提交-->master
写一个日志 即可提交
2.6 文件的删除
- 直接在目录中删除 HelloWorld文件
- 右键tortoiseGit 列表中有
还原
可以还原
以上操作完成后,版本库中还是会有HelloWorld文件
删除版本库中的文件:
在目录删除掉HelloWorld文件后,提交一次,这样版本库中也没了
3、工作区和暂存区
Git和其他版本控制系统如SVN 的一个不同之处就是有暂存区的概念。
暂存区就是一个暂时存放文件的区域,如果文件加到版本库需要 【添加到暂存区—->commit到版本库】
3.1 什么是工作区
工作区就是你都在电脑里能看到的目录,如果我的repositroy文件夹就是一个工作区。
repositroy
目录是 工作区.git
文件夹 版本库
三、在GitHub上创建仓库
注意:创建时不要选中readme 之类的文件,直接创建空的仓库即可,不然上传时很费劲
1、SSH方式连接github
1.1 创建ssh密钥及在github上配置公钥
打开git bash 输入 ssh-keygen -t rsa
指令,然后回车会提示你输入,不用管直接回车即可。
默认密钥对的生成位置:C:\Users\仝子瑜\.ssh
配置公钥:github头像——>settings——>SSH and GPG keys —- 把公钥复制过来—->保存
1.2 使用SSH的方式把本地仓库推送到github
在工作目录下 打开 git bash 输入下面命令
每次创建一个新的仓库就会有该指令
1.3 使用小乌龟工具把本地仓库推送到github
右键—->Git 同步 —>管理—->配置一下SSH信息
2、Https方式连接github
使用Https推送的话,就不需要密钥了,而是使用github的用户名和密码
在推送的时候 会让你输入账号和密码
四、克隆远程仓库到本地
使用 git clone https/ssh地址
命令也可以
使用 小乌龟工具也可以
五、分支管理
1、创建合并分支
在我们每次的提交,Git都把它们串成一条时间线,这条时间线就是一个分支,截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。Head指针严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前的分支。
一开始的时候,master分支是一条线,git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点
2、合并分支:
最终想留下谁,就先切换到哪个分支
然后选择合并
六、IDEA中使用git
1、IDEA中配置Git
需要手动在IDEA中配置一下Git的路径
File —-> Settings —-> Version Control —->Git
2、IDEA中创建一个本地仓库
最好是选择上一级目录
小技巧:
先在GitHub中创建一个仓库
在我的电脑中对应项目中把该仓库克隆下来【注意工作目录】
这样项目中就有了Git