Git入门
Git入门
Git简介
GIT,全称是分布式版本控制工具,通常用来对软件开发中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,Git仓库分为两种:
- 本地仓库:开发人员再自己电脑上的Git仓库。
- 远程仓库:远程服务器上的Git仓库。
git的作用:
- 代码回溯
- 版本切换
- 多人协作
- 远程备份
commit:提交,将本地文件和版本信息保存到本地仓库。
push:推送,将本地仓库文件和版本信息上传到远程仓库。
pull:拉取,将远程仓库的文件和版本信息下载到本地仓库。
Git下载和安装
在git官网下载后,默认安装就行!
安装完成后再任意目录点击鼠标右键,如果能看到下列Git相关选项表示安装成功。
- Git GUI Here:打开Git图形界面。
- Git Bash Here:打开Git命令行。
Git代码托管服务
常用的Git代码托管服务平台:
gitHub( 地址:https://github.com/ )是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub。
码云(地址: https://gitee.com/ )是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快。
GitLab(地址: https://about.gitlab.com/ )是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务
使用码云代码托管服务操作流程:
- 注册码云账号
- 登录码云
- 创建远程仓库
- 一个用户可以创建多个远程仓库
- 每个仓库都对应有一个网络地址
- 邀请其他用户成为仓库成员
Git常用命令
Git全局设置
当安装Git后首先要做的事情就是设置用户名和email地址。每次Git提交都会使用该用户信息。
设置用户信息:
1 | git config --global user.name "刘仁伟" |
查看配置信息:
1 | git config --list |
Git仓库
要使用Git对我们的代码进行版本控制,首先需要获取Git仓库。
获取Git仓库:
- 从本地初始化一个Git仓库(不常用)
- 在任意目录下创建一个空目录作为本地的Git仓库
- 在这个目中打开Git Bash窗口
- 执行命令:
git init
- 出现隐藏文件夹:
.git
- 从远程仓库克隆(常用)
- 在码云或gitHub上创建一个远程仓库,仓库对应有远程地址
- 执行命令:
git clone 远程仓库地址
工作区、暂存区、版本库
工作区、暂存区、版本库概念:
- 工作区:包含
.git
文件夹的目录就是工作区,主要用于存放开发的代码。 - 暂存区:在
.git
目录下的 index 文件中,暂存区是一个临时保存修改文件的地方。 - 版本库:工作区有一个隐藏目录
.git
就是 Git 的版本库,其中存储了很多的配置信息、日志信息和文件版本信息等。
仓库操作
本地仓库操作:
1 | git status #查看文件状态 |
Git工作区中的文件存在两种状态:
- untracked 未跟踪(未被纳入版本控制)
- tracked 已跟踪 (被纳入版本控制)
- Unmodified 未修改状态
- Modified 已修改状态
- Staged 已暂存状态
注意:工作区中的文件状态会随着我们执行的Git命令发生变化。
远程仓库操作:
1 | git remote #查看远程仓库 |
注意:在第一次使用git push命令推送本地代码文件到远程仓库时,需要身份认证,认证通过并必须是仓库管理成员才可以使用。
本地代码文件提交到远程仓库步骤:
git add 文件名 或 git add *
:将工作区中的代码文件加入到暂存区git commit -m "日志信息" 文件名
:将暂存区的文件修改提交到版本库git remote
:查看远程仓库名git remote add 远程仓库名 远程仓库地址
:添加远程仓库(本地仓库与远程仓库关联)git remote -v
:查看远程仓库地址
git push 远程仓库名 分支名
:推送到远程仓库
从远程仓库拉取代码文件步骤:
git pull 远程仓库名 分支名
:从远程仓库拉取代码文件
如果本地仓库不是克隆与远程仓库,并且仓库中存在文件,此时从远程仓库拉取文件会报错。解决办法:
git pull 远程仓库名 分支名 --allow-unrelated-histories
。允许远程仓库文件和本地仓库文件合并到一起。
代码文件远程仓库转移步骤:
git remote rm origin
:删除当前远程仓库地址git remote add origin https://github.com/username/repository.git
:添加远程仓库地址git remote set-url <remote-name> <new-url>
:或者使用这个命令来更改远程仓库的URLgit pull origin master --allow-unrelated-histories
:尝试执行git pull
命令时添加--allow-unrelated-histories
选项,允许合并不相关的历史。git push origin master
:提交代码到新的远程仓库,会保留之前的git提交记录信息
分支操作
分支时Git使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线分离出来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
通过git init命令创建本地仓库时,默认会创建一个master分支。
分支的作用:
- 同时并行推进多个功能开发,提高开发效率。
- 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
分支操作:
1 | git branch #查看分支 |
查看分支:
git branch -r
:列出所有远程分支git branch -a
:列出所有本地分支和远程分支
分支冲突:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改,Git 无法替我们决定使用哪一个。必须人为决定新代码内容。
解决冲突:
- 编辑有冲突的文件,删除特殊符号,决定要使用的内容。
- 添加到暂存区。
- 执行提交(注意:此时使用 git commit 命令时不能带文件名)。
- 发现后面 MERGING 消失,变为正常。
标签操作
Git中的标签指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。相当于虚拟机的快照功能。
标签操作:
1 | git tag #列出已有的标签 |
标签和分支的区别:
tag代表了当前的提交点,是个点,是当前提交点的一个记录,tag名字是不能重复。
branch代表里新的支线,是个线,可以继续延展。
IDEA中使用Git
在IDEA中配置Git
在IDEA中使用Git,本质上还是使用本地安装的Git软件,所以需要在IDEA中手动配置Git。
获取Git仓库
在IDEA中使用Git仓库有两种方式:
- 本地初始化仓库
- 在本地项目中引入版本控制
- 项目文件夹中会出现
.git
文件夹
- 从远程仓库克隆
- 从远程仓库克隆
- 输入远程仓库链接和克隆到本地的目录
.gitignore
文件说明:设置工作区文件提交到本地仓库需要忽略的文件。
本地仓库操作
IDEA对本地项目代码使用Git进行本地仓库操作的步骤。
- 将文件加入暂存区
- 创建文件时会弹出是否加入到暂存区弹窗,点击确认加入后文件就添加到暂存区了
- 右击文件 —> Git —> Add 加入到暂存区
- 在IDEA中修改已经加入到暂存区的文件,不需要再次添加到暂存区
将暂存区的文件提交到版本库
- 点击Git的提交操作按钮进行提交,输入提交的信息
- 右击文件或项目 —> 选择Git —> commit 进行提交
查看日志
- 点击Git的查看日志操作按钮查看日志信息
远程仓库操作
IDEA对本地项目代码使用Git进行远程仓库操作的步骤。
查看远程仓库
- 右击文件或项目 —> 选择Git —> Repository —> remotes
- 一个项目可以有多个远程仓库
推送至远程仓库
- 点击Git的提交操作按钮进行提交并推送至远程仓库
- 右击文件或项目 —> 选择Git —> Repository —> Push
从远程仓库拉取
- 点击Git的拉取操作按钮拉取远程仓库代码文件
- 右击文件或项目 —> 选择Git —> Repository —> Pull
分支操作
在项目开发中,如果需要对项目进行功能扩展或者Bug修复,就可以创建一条分支来进行项目开发。项目开发完毕并且测试通过之后再合并到主分支上。
IDEA使用Git进行分支操作的步骤。
- 查看分支
- 右击文件或项目 —> 选择Git —> Repository —> Branches
- 创建分支
- 切换分支
- 项目的右下角会显示
Git:分支名
- 点击会弹出分支操作选项框
- 项目的右下角会显示
- 将分支推送至远程仓库
- 合并分支