Git&GitHub&IDEA集成Git

本笔记根据该视频进行整理:尚硅谷Git入门到精通全套教程

Git

一、Git概述

Git是一个免费、开源的分布式版本控制系统

二、Git工作机制

在这里插入图片描述
工作区: 电脑本地磁盘里存放的代码
暂存区: 临时存储,准备提交本地库
本地库: 一旦提交就会生成历史版本,无法删除
远程库(push) 提交到基于网络服务的远程代码仓库(远程库

版本控制

用来记录文件内容变化,以便将来查阅特定版本修订情况
最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本
在这里插入图片描述

版本控制工具

集中式版本控制工具

集中式的版本控制系统,所有的版本库是放在中央服务器中的,也就是说我们每一次的修改上传都是保存在中央服务器中的。中央服务器就是个大仓库,大家把产品都堆里面,每一次需要改进和完善的时候,需要去仓库里面把文件给提出来,然后再操作。

这种版本管理模式,存在的问题是协同工作时可能造成的提交文件不完整,版本库损坏等问题,A提交,B也提交,C下载的时候可能得到的仅是A,B提交版本中的一部分。其次,集中式版本控制系统必须要联网才能工作,不论是局域网还是互联网,必须上网才能将本地版本推送至服务器进行保存。

分布式版本控制工具

分布式版本控制系统,重点在于分布。分布的含义不是说每台计算机上只留有版本库的一部分。恰恰相反,分布的含义是每台计算机上都还有一个完整的版本库。这个时候,你的修改仅仅需要提交给本地的版本库进行保存就可以了。那有人就问了,协同开发的话,这玩意儿怎么能协同呢。

不同于集中式版本控制系统的“中央服务器”,分布式版本控制系统可以通过推送版本库,实现不同的计算机之间的版本共享。什么意思呢?就是说对于同一个文件A,如果两个人同时对A文件进行了修改,最新的版本应该都保存在各自的计算机中,想要实现协同开发,只需要将各自的最新版本库推送给对方,就可以得到最新的版本库了。

三、Git安装

【Git安装和客户端使用】

四、Git常用命令

1.设置用户签名

git config --global user.name 用户名 配置用户名
git config --global user.email 配置邮箱
git首次安装必须设置用户签名,否则无法提交代码

2.初始化本地库

git init

3.查看本地库状态

首次查看(工作区没有任何文件): git status
新增文件: vim hello.txt
再次查看: 如果有未添加缓存区的文件,则该文件名为红色
在这里插入图片描述

4.添加(删除)缓存区

添加至缓存区:git add 文件名
添加至缓存区后,文件名变为绿色:

在这里插入图片描述

从缓存区删除: git rm --cached 文件名
在这里插入图片描述

5.提交本地库

git commit -m “日志信息(备注)” 文件名
在这里插入图片描述
查看状态(没有文件需要提交)

  • 查看日志:git reflog
  • 查看详细日志:git log

HEAD和master:理解git中的head和master

6.修改文件

修改文件后需要重新:添加缓存区
在这里插入图片描述

7.历史版本

查看历史版本:

  • git reflog 查看版本信息
  • git log 查看版本详情信息

版本穿梭: git reset --hard 版本号

五、Git分支操作

在这里插入图片描述

1.查看、创建、切换

查看: git branch -v
创建: git branch 分支名
切换分支: git checkout 分支名
在这里插入图片描述

2.合并分支(正常合并)

把该分支合并到当前分支:git merge 分支名
当前分支未修改才能正常合并
在这里插入图片描述

3.合并分支(冲突合并)

冲突的原因: 合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改,Git无法替我们决定使用哪一个,必须人为决定新代码内容。
正在合并中
在这里插入图片描述

解决方法:
①打开该文件,修改
<<<<<< HEAD:当前分支
=====上为当前代码
>>>>>>上为要合并的代码
在这里插入图片描述
②添加暂存区:git add 文件名
③执行提交(此时git commit命令不能带文件名
git commit -m "merge hot-fix"
在这里插入图片描述

master、hot-fix其实都是指向具体版本记录的指针。当前所在的分支,其实是由HEAD决定的,所以创建分支的本质就是多创建一个指针。

  • HEAD如果指向master,那么我们现在就在master分支上
  • HEAD如果指向hot-fix,那么我们现在就在hot-fix分支上
    所以切换分支的本质就是移动HEAD指针

六、Git团队协作机制

1.团队内协作

在这里插入图片描述

2.跨团队协作

在这里插入图片描述

GitHub

1.创建远程库&创建别名

创建远程库: 添加链接描述
创建别名(push和clone两个别名): git remote add 别名 链接
查看别名: git remote -v
在这里插入图片描述

2.代码推送push

语法: git push 别名 分支
在这里插入图片描述
执行后弹出:
在这里插入图片描述
在这里插入图片描述
登录认证后,git提示上传完成:
在这里插入图片描述
回到GitHub发现文件已提交:在这里插入图片描述

3.代码拉取pull

拉取远程库到本地库:git pull 别名 分支名

在这里插入图片描述

4.代码克隆clone

git clone 链接
在这里插入图片描述
clone会做如下操作:1、拉取代码。2、初始化本地库。3、创建别名
会自动取别名为origin:在这里插入图片描述

5.团队内协作

团队内需要把其他成员邀请进来,其他操作与之前一致。
在这里插入图片描述

6.跨团队协作

团队外协作需要把自己远程库的代码 Pull requests 到别人的远程库去
在这里插入图片描述
详细步骤

7.SSH免密登录

在电脑的 C:\Users\Administrator 目录下删除.ssh文件(没有就不用了)
右键点击 git bash here
输入 ssh-keygen -t rsa -C 邮箱 后三次回车
进入.ssh目录:cd .ssh(此时.ssh文件夹里有公钥私钥两个文件)
cat查看公钥:cat id_rsa.pub
把公钥复制到:GitHub右上角头像——>settings——>SSH and GPG keys里

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

IDEA集成Git

1.配置Git忽略文件

IDEA特定文件:在这里插入图片描述
Git只需要pom文件,要忽略掉其他xml和iml文件(他们与项目的实际功能无关,不参与服务器上部署运行。忽略掉能够屏蔽IDE工具之间的差异)

如何忽略:

  1. 创建忽略规则文件 xxx.ignore(前缀名随便起,例如git.ignore) ,为便于让~/.gitconfig引用,建议也放在用户家目录下。

在这里插入图片描述

git.ignore文件模板内容如下:

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

hs_err_pid*

.classpath
.project
.settings
target
.idea
*.iml
  1. 在.gitconfig中引用忽略配置文件
    在这里插入图片描述
    注意:这里要使用正斜线(/)。

2.定位Git程序

新建maven项目后,点击:file——>settings——>Version Control下的Git
在这里插入图片描述
选择Git安装目录下bin文件夹下的git.exe
点击右边Test,直到出现版本信息。

在这里插入图片描述

3.初始化Git

初始化:在顶部菜单栏选择:VCS——>Create Git Repository,点击OK。
在这里插入图片描述
此时可以看到pom文件变红,为未提交状态。

4.添加缓存区&提交本地库

添加缓存区:右键pom:Git——>Add 提交缓存区
提交本地库同样步骤……

5.切换版本

点击IDEA下面的Git
在这里插入图片描述
右键要切换的版本:checkout revision ‘版本号’

6.创建&切换分支

  • 右键项目——>GIt——>repository——>Branchs——>New Branch

  • 右下角 master——>New branch

切换分支直接点击该分支

7.合并分支(正常合并)

点击要合并分支,选择“Merge “该分支” into 主分支”
在这里插入图片描述

8.合并分支(冲突合并)

与正常合并步骤一致
冲突的代码手动选择

IDEA集成GitHub

1.设置GitHub账户

登录:
在这里插入图片描述
备用登录方式

2.分享项目到GitHub

在这里插入图片描述
在这里插入图片描述

3.push推送本地库到远程库

  • 右键项目:Git——repository——push
  • 顶部菜单Git——push

4.拉取远程库到本地

在这里插入图片描述
拉取: 顶部菜单Git——pull

5.克隆代码到本地

File ——> New ——> Projects from Version Control
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值