Git的正确使用 | 青训营

110 阅读6分钟

Git 概述

Git 简介

Git 是一个 分布式 版本控制工具。

通常用来对软件开发过程中的源代码文件(Java 类、xml 文件、html 页面等)进行管理。

软件开发过程中,一般通过 Git 仓库来存储和管理众多的源代码文件。

  • Git 仓库分为两种

本地仓库:开发人员自己电脑上的 Git 仓库

    • 远程仓库:远程服务器上的 Git 仓库

  • commit:提交,将本地文件和版本信息保存到本地仓库。
  • push:推送,将本地仓库文件和版本信息上传到远程仓库。
  • pull:拉取,将远程仓库文件和版本信息下载到本地仓库。

学完 Git 后我们可以做什么?

代码回溯、版本切换、多人协作、远程备份。

Git 的下载和使用

下载地址:git-scm.com/download

安装完成后在任意目录下点击鼠标右键,若可以看到如下菜单则表示安装完成。

  • Git GUI Here:打开 Git 图形界面
  • Git Bash Here:打开Git 命令行

Git 代码托管服务

常用的 Git 代码托管服务

Git 中存在两种类型的仓库:本地仓库远程仓库

我们可以借助互联网上提供的一些代码托管服务来实现 git 远程仓库的搭建。

其中比较常用的有:GitHub码云Gitee)、GitLab 等。


  • GitHubgithub.com)是一个面向开源及私有软件项目的托管平台。
    • 只支持 Git 作为唯一的版本库格式进行托管。
  • 码云gitee.com)是国内的一个代码托管平台。
    • 由于服务器在国内,所以相比于 GitHub,码云速度会更快。
    • 注:2022518Gitee 仓库开源须审核,已开源部分仓库暂时关闭,审核通过后再次公开。
  • GitLababout.gitlab.com)是一个用于仓库管理系统的开源项目。
    • 使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。

使用 GitHub 代码托管服务

Git 常用命令

Git 全局设置

当安装 Git 后首先要做的事情是设置用户名称和 email 地址。这是非常重要的,因为每次 Git 提交都会使用该用户信息。

  • 设置用户信息(签名)
git config --global user.name "qsdgw"

git config --global user.email "qsdgw@qq.com"
  • 说明
    • 签名的作用是区分不同操作者身份。
    • 用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。
    • Git 首次安装必须设置一下用户签名,否则无法提交代码。
  • 注意
    • 这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系。

获取 Git 仓库

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

  • 获取 Git 仓库通常有两种方式
    • 在本地初始化一个Git仓库(不常用)
    • 从远程仓库克隆(常用)
  1. 在本地初始化一个 Git 仓库
  • 执行步骤
    • 在任意目录下创建一个空目录(例如repo1)作为我们的本地仓库
    • 进入这个目录中,点击右键打开 Git bash 窗口
    • 执行命令:git init

如果可以在当前目录中看到 .git 文件夹(该文件夹是隐藏文件夹),则说明 Git 仓库创建成功。

  1. 从远程仓库克隆

可以通过 Git 提供的命令从远程仓库进行克隆,将远程仓库克隆到本地。

git clone [远程Git仓库地址]

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

为了更好的学习 Git,我们需要了解 Git 相关的一些概念,这些概念在后面的学习中会经常提到。

  • 版本库:前面看到的 .git 隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等。
  • 工作目录(工作区):包含 .git 文件夹的目录就是工作目录,主要用于存放开发的代码。
  • 暂存区:一个临时保存修改文件的地方。
    • .git 文件夹中有很多文件,其中有一个名为 index 文件就是暂存区,也可以叫做 stage

Git 工作区中文件的状态

Git 工作目录下的文件存在两种状态。

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

这些文件的状态会随着我们执行 Git 的命令发生变化

本地仓库操作

本地仓库常用命令

命令功能
git config --global user.name 用户名设置用户签名
git config --global user.email 邮箱设置用户签名
git init初始化本地库
git status查看文件状态
git add [文件名称]将文件的修改加入暂存区
git reset [文件名称]将暂存区的文件取消暂存
git reset --hard [版本号]切换到指定版本
git commit [文件名]将暂存区文件提交到版本库中
git commit -m "日志信息" [文件名]将暂存区的文件提交到版本库中
git log查看日志
git reflog查看历史记录

远程仓库操作

远程仓库常用命令

命令功能
git remote查看远程仓库
git remote -v查看当前所有远程地址别名
git remote add 添加远程仓库
git clone [url]从远程仓库克隆
git pull [short-name] [branch-name]从远程仓库拉取
git push [short-name] [branch-name]推送到远程仓库

分支操作

分支是 Git 使用过程中非常重要的概念。

几乎所有的版本控制系统都以某种形式支持分支。

使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。

Gitmaster 分支并不是一个特殊分支。 它跟其它分支没有区别。

之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它,并且大多数人都懒得去改动它。

同一个仓库可以有多个分支,各个分支相互独立,互不干扰。

在Goland中简单使用Git

在Goland中配置Git地址

使用Git从远程仓库克隆

  1. 首先在Github或其他代码托管平台找到如下Code

  1. 复制HTTPS链接到Goland的URL中,点击Clone

  1. 项目会Clone完毕,打开项目,根据要求安装相应的依赖即可

远程仓库操作

  • 查看远程仓库
  • 添加远程仓库
  • 推送到远程仓库
  • 从远程仓库中拉取

分支操作

创建分支

将分支推送到远程

合并分支