Git/GitHub相关技能
github官网:https://github.com/
git下载:https://git-scm.com/downloads
gitee官网:https://gitee.com/



1、Git概述
- 定义:免费开源的分布式版本控制系统
- 版本控制:最重要的是可以记录文件修改历史记录,让用户能够查看历史版本,方便版本切换
- 集中式版本控制:svn,中心服务器挂了就挂了
- 分布式版本控制:git,去中心化,本地有一个本地库,远程库挂了,可以将本地内容重新推送至远程库
- 具体流程:
![]()
2、Git安装
- git下载:https://git-scm.com/downloads
- 下一步。。。
3、Git常用命令
| 命令 | 作用 |
|---|---|
| git config --global user.name 用户名 | 设置用户签名 |
| git config --global user.email 邮箱 | 设置用户签名 |
| git init | 初始化本地库 |
| git status | 查看本地库状态 |
| git add 文件名 | 添加到暂存区 |
| git commit -m "日志信息" 文件名 | 提交到本地库 |
| git reflog | 查看历史记录 |
| git reset --hard 版本号 | 版本穿梭 |
- 用户签名只需要设置一次(不配置后续提交代码会出错),具体配置过程:
![]()
![]()
- 初始化git仓库并查看状态
![]()
- 将文件添加至git的暂存区,并且演示如何删除暂存区文件(真实文件不会一起被删除)
![]()
- 将暂存区文件提交
![]()
- 修改文件并再次提交的过程
![]()
- 版本穿梭
![]()
4、Git分支操作
- 分支,同时推进多个任务,为每个任务创建单独的分支
- 分支的好处,同时并行推进多个功能开发,提高开发效率
| 命令名称 | 作用 |
|---|---|
| git branch 分支名 | 创建分支 |
| git branch -v | 查看分支 |
| git checkout 分支名 | 切换分支 |
| git merge 分支名 | 把指定的分支合并到当前分支上 |
- 创建、切换分支具体使用
![]()
- 合并分支及冲突问题解决
![]()
5、Git团队协作
- 团队内协作
- 跨团队协作
6、GitHub操作
| 远程仓库操作 | 作用 |
|---|---|
| git remote -v | 查看当前所有远程地址别名 |
| git remote add 别名 远程地址 | 添加远程地址及别名 |
| git remote rm 库名 | 删除远程库链接 |
| git push 别名 分支 | 推送本地分支到远程仓库 |
| git pull 别名 分支 | 拉取远程仓库到本地分支 |
| git clone 远程地址 | 克隆远程仓库到本地 |
- 创建远程库以及查看当前拥有的远程库
![]()
- 推送当前分支文件到远程仓库中
![]()
- 拉取远程仓库文件到本地分支中
![]()
- 克隆远程仓库,帮忙完成了三件事 1)拉取代码 2)初始化本地仓库 3)创建别名
![]()
- 团队内协作github,在这里邀请其他人加入到当前项目中,下边会生成一个邀请码,把邀请码赋值给被邀请着就可以点击链接加入到你的项目团队中进行项目开发工作了
![]()
- 跨团队协作github
。。。 - SSH免密登录
- 生成SSH密钥
![]()
- 将公钥信息添加到Github中
![]()
![]()
- 使用ssh链接上传文件
![]()
- 生成SSH密钥
7、IDEA集成Git
7.1、配置相关忽略文件
- 首先需要配置忽略文件,一些无用的文件不需要上传到github中
- 在C盘用户目录下创建
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
- 这个是
git.config中配置的信息,其中注意要使用斜线/而不是反斜线\
[user]
name = han
email = han@qq.com
[core]
excludesfile = C:/Users/user/git.ignore
7.2、IDEA使用Git进行版本控制
- 配置idea中的git地址信息
![]()
- 引入Git相关版本控制工具
![]()
- 使用Git提交文件
![]()
- idea切换git版本信息
![]()
- idea创建和切换git分支,下边两种方式均可,切换分支可以直接在右下角master部位点击其他分支checkout一下
![]()
![]()
- idea合并git分支(正常情况)
![]()
- idea合并git分支(冲突情况)
![]()
![]()
![]()
![]()
7.3、IDEA使用git与github进行项目交互
- 在idea中添加github账号信息
![]()
- 在idea直接创建github项目
![]()
![]()
- idea推送项目到远程仓库,代码需要先pull然后才能push,否则会失败
![]()
![]()
- idea拉取项目,代码需要先pull然后才能push,否则会失败
![]()
- idea克隆项目
![]()






































浙公网安备 33010602011771号