一、Git简介
Git是一个分布式版本控制工具,通常对于软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,Git仓库分为两种:
- 本地仓库:开发人员自己电脑上的Git仓库
- 远程仓库:远程服务器上的Git仓库
二、Git的下载与安装
下载地址:https://git-scm.com/download 下载完成后得到.exe安装文件
安装完成后在任意目录点击鼠标右键,如果能看到如下菜单则表示安装完成:
- Git GUI Here:打开Git图形界面
- Git Bash Here:打开Git命令行(常用)
三、Git代码托管服务
常用的Git代码托管服务有两种类型,即本地仓库和远程仓库。
常见的互联网上提供的一些代码托管服务:
- gitHub
- 码云
- GitLab
- BitBucket
四、Git常用命令
4.1 Git的全局设置
当安装Git后首先要做的事情就是设置用户名和email地址。
在Git命令行中执行下面命令:
- 设置用户信息
git config --global user.name “用户名称”
git config --global user.email “email地址”
- 查看配置信息
git config --list
4.2 获取Git仓库
要使用Git对我们的代码进行版本控制,首先需要获得Git仓库。
获取Git仓库通常有两种方式:
- 在本地初始化一个Git仓库(不常用)
- 从远程仓库克隆(常用)
4.2.1 获取Git仓库—在本地初始化Git仓库
执行步骤如下:
- 在任意目录下创建一个空目录(例如repo1)作为我们的本地Git仓库
- 进入这个目录中,点击右键打开Git bash窗口
- 执行
git init
如果在当前目录中看到.git文件夹(隐藏文件夹)则说明Git仓库创建成功
4.2.2 获取Git仓库—从远程仓库克隆
可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地
命令形式:
git clone [远程Git仓库地址]
4.3 工作区、暂存区、版本库的概念
- 版本库:.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
- 工作区:包含.git文件夹的目录就是工作区,也成为工作目录,主要用于存放开发的代码
- 暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存文件的地方。
4.4 Git工作区中文件的状态
Git工作区中的文件存在两种状态:
- untracked 未跟踪(未被纳入版本控制)
- tracked 已跟踪(被纳入版本控制):Unmodified未修改状态、Modified已修改状态、Staged 已暂存状态
注意:这些文件的状态会随着我们执行Git的命令发生变化
4.5 本地仓库操作
git status 查看文件状态
git add 将文件的修改加入暂存区
git reset 将暂存区的文件取消暂存或是切换到指定版本
git commit 将暂存区的文件修改提交到版本库
git log 查看日志
4.5.1 查看文件状态
git status 命令用于查看文件状态
4.5.2 将文件的修改加入暂存区
该命令的作用是将文件的修改加入暂存区
git add [文件名]
4.5.3 取消暂存或切换版本
该命令的作用是将暂存区的文件取消暂存或切换到指定版本
- 取消暂存:
git reset
说明:将demo.txt从暂存区中取消
- 切换版本:
git reset – hard [唯一标识符]
4.5.4 提交至本地仓库
该命令的作用是将暂存区的文件修改提交到版本库
git commit -m “[说明文字]” [文件名]
4.5.5 查看日志
该命令的作用是查看日志
git log
4.6 远程仓库操作
git remote 查看远程仓库
git remote add 添加远程仓库
git clone 从远程仓库克隆
git pull 从远程仓库拉去
git push 推送到远程仓库
4.6.1 查看远程仓库
- 查看已经配置的远程仓库服务器
git remote
如果已经克隆了远程仓库,那么至少可以看到origin这个克隆的仓库服务器的默认名字(origin为远程地址的简称)
- 显示所有关联的远程仓库
git remote -v
4.6.2 添加远程仓库
添加一个新的远程Git仓库,同时指定一个可以引用的简写。
git remote add [short-name] [url]
4.6.3 克隆远程仓库到本地
克隆远程仓库的命令:
git clone [url]
4.6.4 推送至远程仓库
将本地仓库内容推送至远程仓库
git push [remote-name] [branch-name]
首先要把新建的文件先交给本地仓库(git add— git commit)后才能推送到远程仓库(git push)
4.6.5 从远程仓库拉取
从远程仓库获取最新版本合并到本地仓库
git pull [short-name] [branch-name]
注意:如果当前本地仓库不是从远程仓库克隆(git clone),而是本地创建的仓库(git init),并且仓库中存在文件,此时再从远程仓库拉去文件的时候会报错
解决此问题可以在git pull命令后加入参数 –allow-unrelated-histories
4.7 分支操作