git的使用介绍
- 什么是git?
Git是目前世界上最先进的分布式版本控制系统(没有之一)。 - 什么是版本控制系统?
版本控制是将原有的版本记录下来,并且将新版本改动的地方一并记录下来的一种控制系统。更方便我们管理。
1. git的安装
- 首先,你可以试着输入git,看看系统有没有安装Git:
$ git
The program 'git' is currently not installed.
You can install it by typing: sudo apt-get install git
像上面的命令,Linux会告诉你Git没有安装, 如果用Debian或Ubuntu Linux,通过一条命令就可以直接完成Git的安装。
sudo apt-get install git
- 通过命令查看版本号,出现即安装完成。
git version
git version 2.25.1
- 设置自己的用户名和邮箱
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
2. git的操作原理
git的四个工作区:
3. git的具体使用
(1)创建仓库
选择一个合适的地方,创建一个空目录,并且初始化
$ mkdir learngit
$ cd learngit
$ pwd /home/xvni-pc/gaoqian/learngit
//这是我的git仓库所在的地方
$ git init
Initialized empty Git repository in /home/xvni-pc/gaoqian/learngit/.git/
Git就把仓库建好了,而且是一个空的仓库,并且用ls -a
命令发现当前目录下多 了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱 了,就把Git仓库给破坏了。
(2)将文件添加到版本库中
根据上面的方法,当需要修改文件后就可以进行添加和提交。
用git log
命令查看当前版本及之前的历史版本,因为我自己提交了三次,所以有以下记录:
(3)回退版本和恢复版本
- 对版本的理解
- 回退版本
git reset --hard HEAD^ //回退到上一个版本
git reset --hard HEAD^^ //回退到上上一个版本
所以就有了以下命令出现,查看所有对版本操作过的命令。
- 版本前进
git reset --hard cde752a
(4)管理修改
- 当修改了main.c文件并没有添加进本地仓库和提交到远程服务器时,想放弃对工作区的修改,可以进行以下操作:
git checkout main.c
- 当将修改的main.c添加到本地仓库中以后,发现问题,想撤回添加可以执行以下命令:
git reset HEAD main.c
- 添加文件和删除文件
(5)版本比较
git diff
4. git分支的具体使用
(1)分支使用的缘由
(2)创建、切换分支
- 创建和切换分支,用2步。
git branch //查看分支
git branch dev //创建分支
git checkout dev //切换分支
- 创建并切换分支
git checkout -b dev
(3)在分支上修改文件
-
第一次在分支删修改文件时,没有添加和提交也可以切换到主分支。下面给出了提交之后的结果,在主分支上是看不到代码改变的。
-
第二次在主分支上进行修改但没有提交时,是不能切换分支的。
当切换不成功时,可以用此命令:
git stash //保护现场
git stash pop //默认恢复最近的一次现场保护之前
注意:一定要注意,在哪里保护的现场,在哪里恢复,不然会污染其他分支。
(4)合并分支
- 快速合并:先切换到主分支上,在用此命令合并分支。
git merge dev //表示合并dev分支
- 在多条分支上均有修改代码时的合并分支
(5)删除分支
git branch -d dev