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
2
git config --global user.name "刘仁伟"
git config --global user.email "1274604930@qq.com"

查看配置信息:

1
git config --list

Git仓库

要使用Git对我们的代码进行版本控制,首先需要获取Git仓库。

获取Git仓库:

  • 从本地初始化一个Git仓库(不常用)
    • 在任意目录下创建一个空目录作为本地的Git仓库
    • 在这个目中打开Git Bash窗口
    • 执行命令:git init
    • 出现隐藏文件夹:.git
  • 从远程仓库克隆(常用)
    • 在码云或gitHub上创建一个远程仓库,仓库对应有远程地址
    • 执行命令:git clone 远程仓库地址

工作区、暂存区、版本库

工作区、暂存区、版本库概念:

  • 工作区:包含 .git文件夹的目录就是工作区,主要用于存放开发的代码。
  • 暂存区:.git 目录下的 index 文件中,暂存区是一个临时保存修改文件的地方。
  • 版本库:工作区有一个隐藏目录 .git就是 Git 的版本库,其中存储了很多的配置信息、日志信息和文件版本信息等。

仓库操作

本地仓库操作:

1
2
3
4
5
git status   #查看文件状态
git add #将文件的修改加入到暂存区
git reset #将暂存区的文件取消暂存或者是切换指定版本
git commit #将暂存区的文件修改提交到版本库
git log #查看日志

Git工作区中的文件存在两种状态:

  • untracked 未跟踪(未被纳入版本控制)
  • tracked 已跟踪 (被纳入版本控制)
    • Unmodified 未修改状态
    • Modified 已修改状态
    • Staged 已暂存状态

注意:工作区中的文件状态会随着我们执行的Git命令发生变化。

远程仓库操作:

1
2
3
4
5
git remote       #查看远程仓库
git remote add #添加远程仓库(本地仓库与远程仓库关联)
git clone #从远程仓库克隆
git pull #从远程仓库拉取
git push #推送到远程仓库

注意:在第一次使用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>:或者使用这个命令来更改远程仓库的URL
  • git pull origin master --allow-unrelated-histories:尝试执行git pull命令时添加--allow-unrelated-histories选项,允许合并不相关的历史。
  • git push origin master:提交代码到新的远程仓库,会保留之前的git提交记录信息

分支操作

分支时Git使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线分离出来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。

通过git init命令创建本地仓库时,默认会创建一个master分支。

分支的作用:

  • 同时并行推进多个功能开发,提高开发效率。
  • 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

分支操作:

1
2
3
4
5
6
git branch       	         #查看分支
git branch [name] #创建分支
git checkout [name] #切换分支
git branch -d [name] #删除分支
git push [shortName] [name] #推送至远程仓库分支
git merge [name] #合并分支

查看分支:

  • git branch -r:列出所有远程分支

  • git branch -a:列出所有本地分支和远程分支

分支冲突:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改,Git 无法替我们决定使用哪一个。必须人为决定新代码内容。

解决冲突:

  • 编辑有冲突的文件,删除特殊符号,决定要使用的内容。
  • 添加到暂存区。
  • 执行提交(注意:此时使用 git commit 命令时不能带文件名)。
  • 发现后面 MERGING 消失,变为正常。

标签操作

Git中的标签指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。相当于虚拟机的快照功能。

标签操作:

1
2
3
4
git tag                          #列出已有的标签
git tag [name] #创建标签
git push [shortName] [name] #将标签推送至远程仓库
git checkout -b [branch] [name] #检出标签(需要创建新的分支)

标签和分支的区别:

  • 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:分支名
    • 点击会弹出分支操作选项框
  • 将分支推送至远程仓库
  • 合并分支

Git常用命令速查表