一、Git简介

1.1Git特点: 版本控制:可以解决多人同时开发的代码问题,也可以解决找回历史代码的问题。

分布式:Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。

1.2Git的安装和配置:

1.安装命令如下: sudo apt-get install git

2.去git官网下载最新版git软件

1.3创建一个版本库:

1. 新建一个目录git_test,在git_test目录下创建一个版本库,命令如下:

git init

可以看到在git_test目录下创建了一个.git隐藏目录,这就是版本库目录。

1.4版本创建与回退:

1.使用如下两条命令可以创建一个版本:

git add code.txt

git commit –m '版本1'

2.使用如下命令可以查看版本记录:

git log

3.现在若想回到某一个版本,可以使用如下命令:

git reset --hard HEAD^

其中HEAD表示当前最新版本,HEAD^表示当前版本的前一个版本,

HEAD^^表示当前版本的前前个版本,也可以使用HEAD~1表示当前版本的前一个版本,

HEAD~100表示当前版本的前100版本。

1.5工作区和暂存区:

1.工作区:电脑中的目录,比如我们的git_test,就是一个工作区。

2.版本库:工作区有一个隐藏目录.git,这个不是工作区,而是git的版本库。

3.暂存区:git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,

还有git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

1.6向版本库中添加版本:

1.第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

2.第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

1.7使用如下命令查看当前工作树的状态:

git status

1.8Git的工作流程图:

git使用教程图文详解(git新手使用超详细教程)(1)

1.9管理修改:

1.git管理的文件的修改,它只会提交暂存区的修改来创建版本。

2.使用 git checkout -- <文件> 来丢弃工作区的改动。

3.用命令git reset HEAD file可以把暂存区的修改撤销掉,重新放回工作区。

1.10分支管理:

1.git把我们之前每次提交的版本串成一条时间线,这条时间线就是一个分支。

截止到目前只有一条时间线,在git里,这个分支叫主分支,即master分支。

2.git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,

以及当前分支的提交点:

git使用教程图文详解(git新手使用超详细教程)(2)

3.当我们创建新的分支,例如dev时,git新建了一个指针叫dev,

指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:

git使用教程图文详解(git新手使用超详细教程)(3)

4.从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,

dev指针往前移动一步,而master指针不变:

git使用教程图文详解(git新手使用超详细教程)(4)

5.假如我们在dev上的工作完成了,就可以把dev合并到master上。

git怎么合并呢?最简单的方法,就是直接把master指向dev的当前提交,就完成了合并:

git使用教程图文详解(git新手使用超详细教程)(5)

6.git合并分支也很快,就改改指针,工作区内容也不变。

7.分支的操作命令:

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

二、GitHub的使用

2.1注册github账户,登录后,点击"New respository "

2.2在新页面中,输入项目的名称,勾选'readme.md',点击'create repository':

git使用教程图文详解(git新手使用超详细教程)(6)

2.3添加ssh账户:

2.3.1点击账户头像后的下拉三角,选择'settings'

2.3.2点击'SSH and GPG keys',添加ssh公钥:

git使用教程图文详解(git新手使用超详细教程)(7)

2.3.3克隆项目:在浏览器中点击进入github首页,再进入项目仓库的页面:

git使用教程图文详解(git新手使用超详细教程)(8)

2.3.4复制Git地址:

git使用教程图文详解(git新手使用超详细教程)(9)

2.3.5克隆项目:

git clone 地址

2.3.6上传分支:推送分支,就是把该分支上的所有本地提交推送到远程库,

推送时要指定本地分支,这样,git就会把该分支推送到远程库对应的远程分支上

git push origin 分支名称

2.3.7将本地分支跟踪服务器分支:

git branch --set-upstream-to=origin/远程分支名称 本地分支名称

2.3.8从远程分支拉取代码:

git pull orgin 分支名称

使用上述命令会把远程分支上的代码下载并合并到本地所在分支。

三、工作中使用git:

项目经理:

1. 项目经理搭建项目的框架。

2. 搭建完项目框架之后,项目经理把项目框架代码放到服务器。

普通员工:

1. 在自己的电脑上,生成ssh公钥,然后把公钥给项目经理,项目经理把它添加的服务器上面。

2. 项目经理会给每个组员的项目代码的地址,组员把代码下载到自己的电脑上。

3. 创建本地的分支dev,在dev分支中进行每天的开发。

4. 每一个员工开发完自己的代码之后,都需要将代码发布远程的dev分支上。

Master:用于保存发布的项目代码。V1.0,V2.0

Dev:保存开发过程中的代码。