Git 的使用

1. 目标

  • 了解Git基本概念
  • 能够概述git工作流程
  • 能够使用Git常用命令【会】
  • 熟悉Git代码托管服务
  • 能够使用idea操作git 【会】

2.什么是版本控制器

版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术[软件]。

1.实现跨区域多人协同开发. ---

2.追踪和记录一个或者多个文件的历史记录。---

3.组织和保护你的源代码和文档---

4.统计工作量------

5.并行开发、提高开发效率.---

6.跟踪记录整个软件的开发过程

7.减轻开发人员的负担,节省时间,同时降低人为错误.--

简单说就是用于[管理多人协同开发项目]的一款软件。

2.1版本控制器的种类

2.1.1集中式版本控制器

a、版本库是集中存放在中央服务器的,本地是没有版本库的修改记录的。干活的时候,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。所以集中式版本控制系统最大的毛病就是必须联网才能工作!(外网 内网)

SVN软件:

2.1.2GIT分布式版本控制器

每个人的电脑上都是一个完整的版本库,找一台电脑充当服务器的角色 [共享方便],每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。

软件: git 70%

Git是分布式的,Git不需要有中心服务器,我们每台电脑拥有的东西都是一样的。我们使用Git并且有个中心服务器,仅仅是==为了方便交换大家的修改==,但是这个服务器的地位和我们每个人的PC是一样的。我们可以 把它当做一个开发者的pc就可以就是为了==大家代码容易交流不关机用的==。没有它大家一样可以工作,只不 过“交换”修改不方便而已。

Git工作流程图

命令如下:

①clone(克隆):从远程仓库中克隆代码到本地仓库。

②checkout(检出):从本地仓库检出一个仓库分支,然后进行修订。

③add(添加):在提交前先将代码提交到暂存区。

④commit(提交):提交到本地仓库。本地仓库中保存修改的各个历史版本。

⑤fetch(抓取):从远程库,抓取到本地仓库,不进行任何的合并动作。(操作比较少)

⑥pull(拉取):从远程库拉到本地库,自动合并(merge),然后放到工作区。

⑦push(推送):修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库。

3.Git安装与常用命令

3.1、Git环境配置

3.1.1 下载与安装

下载地址:

https://git-scm.com/download

不要安装到中文[特殊字符]目录下。

下载完成后可以得到如下安装文件:

双击下载的安装文件来安装Git。安装完成后在电脑桌面(也可以是其他目录)点击右键,如果能够看到如下两个菜单则说明Git安装成功。

安装完成后,还需要最后一步设置,在命令行输入:

git config --global user.name "wjy"
git config --global user.email "3039105582@qq.com"

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。

注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

查看配置信息

git config --global user.name

git config --global user.email

3.2、初始化本地Git仓库

要使用Git对我们的代码进行版本控制,首先需要获得本地仓库;本地仓库你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

1)在电脑的任意位置创建一个空目录(例如test)作为我们的本地Git仓库

2)进入这个目录中,点击右键打开Git bash窗口

3)执行命令git init

4)如果创建成功后可在文件夹下看到隐藏的.git目录。

瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是==Git来跟踪管理版本库的==,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

3.3、Git基础操作指令[重点--必须会]

Git工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行Git的命令而发生变化。

本章节主要讲解如何使用命令来控制这些状态之间的转换:

  1. git add (工作区 --> 暂存区)
  2. git commit (暂存区 --> 本地仓库)

3.3.1、查看修改的状态(status)

作用:查看的修改的状态(暂存区、工作区)

命令形式:git status

3.3.2、添加工作区到暂存区(add)

作用:添加工作区一个或多个文件的修改到暂存区

命令形式:git add 单个文件名|通配符

将所有修改加入暂存区:git add .

3.3.3、提交暂存区到本地仓库(commit)

作用:提交暂存区内容到本地仓库的当前分支

命令形式:git commit -m '注释内容'

3.3.4、查看提交版本日志(log)

作用:查看提交记录

命令形式:git log [option]

options

--all 显示所有分支

--pretty=oneline 将提交信息显示为一行

--abbrev-commit 使得输出的commitId更简短

注意:

有些常用的指令参数非常多,每次都要输入好多参数,我们可以使用别名。

1. 打开用户目录,创建 .bashrc 文件

部分windows系统不允许用户创建点号开头的文件,可以打开gitBash,执行 touch ~/.bashrc

在 .bashrc 文件中输入如下内容:

#用于输出git提交日志

alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'

3.3.5、版本回退

作用:版本切换

命令形式:git reset --hard commitID

commitID 可以使用 git log 指令查看

如何查看已经删除的记录?

git reflog

这个指令可以看到已经删除的提交记录

3.3.6、添加文件至忽略列表

一般我们总会有些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是写自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。

3.4、分支

几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的Bug修改、开发新的功能,以免影响开发主线.

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)

3.4.1、查看本地分支

命令:git branch

3.4.2、创建本地分支

命令:git branch 分支名

3.4.4、切换分支(checkout)

命令:git checkout 分支名

我们还可以直接切换到一个不存在的分支(创建并切换)

命令:git checkout -b 分支名

3.4.6、合并分支(merge)

一个分支上的提交可以合并到另一个分支

命令:git merge 分支名称

3.4.7、删除分支

不能删除当前分支,只能删除其他分支

git branch -d b1 删除分支时,需要做各种检查。 查看当前分支有没有没合并的内容

git branch -D b1 不做任何检查,强制删除. 尽量不要用

3.4.8、解决冲突.

当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:

  1. 处理文件中冲突的地方.
  2. 将解决完冲突的文件加入暂存区(add)
  3. 提交到仓库(commit)

冲突部分的内容处理如下所示:

3.5、创建远程仓库

仓库创建完成后可以看到仓库地址,如下图所示:

3.6、本地仓库要和远程仓库绑定

git remote add 名称 仓库路径

名称: 随便起---一般origin

3.7、 把本地仓库的代码提交到远程仓库

git push 名称 分支名:远程仓库的分支名

名称:必须和上面绑定时起的名称一致

3.8 、克隆代码

进公司第一件事: ---老大远程仓库---克隆下来

git clone 地址

命令有两个作用: 第一种:克隆下来的代码会初始化为本地仓库

第二 种: 自动绑定了远程仓库 origin 注意: 如果远程仓库为私有: 只允许成员克隆。

3.9、 拉取远程仓库更新的代码

git pull 绑定的名称 分支名

3.10、工作场景的流程

4.命令总结

  1. git本版控制器:--团队协作开发项目。--本地版本库---远程版本库
    [方便团队之间交互修改的代码]。
  2. git常用的命令:

1. 初始本地仓库:git init

2. 查看状态: git status

3. 添加工作到暂存区: git add .

4. 提交缓存区到本仓库加以描述: git commit -m '描述'

5. 查看版本日志: git log || git reflog

6. 版本回退: git reset --hard 版本号

7. 查看分支: git branch

8. 创建分支: git branch 名

9. 切换分支: git checkout 名

10. 合并分支: git merge 名

11. 强制删除分支: git branch -d|D 名

12. 本地仓库和远程仓库绑定:git remote add 名称 远程仓库url
13. 本地仓库和远程仓库解绑 :git remote rm 名称
13. 提交本地仓库的代码到远程仓库 :git push 名称 本地分支:远程分支名
14.从远程仓库克隆:git clone url<仓库路径>

私有仓库: 只允许成员。

作用: 初始仓库 和 绑定

15. 更新远程仓库的代码 :git pull origin 远程分支名

相关推荐

  1. git使用

    2024-07-09 21:48:05       51 阅读
  2. git 命令使用

    2024-07-09 21:48:05       37 阅读
  3. git使用

    2024-07-09 21:48:05       29 阅读

最近更新

  1. Symfony数据库抽象层:深入理解其工作原理

    2024-07-09 21:48:05       0 阅读
  2. 设计模式--职责链模式

    2024-07-09 21:48:05       0 阅读
  3. PXIe-6592

    PXIe-6592

    2024-07-09 21:48:05      0 阅读
  4. FPGA 中的 IOE与IO BANK

    2024-07-09 21:48:05       0 阅读
  5. 前端部署后提示用户刷新页面

    2024-07-09 21:48:05       0 阅读
  6. 编写测试用例:策略、技巧与最佳实践

    2024-07-09 21:48:05       0 阅读
  7. 自动化测试的艺术:Xcode中GUI测试的全面指南

    2024-07-09 21:48:05       0 阅读

热门阅读

  1. WordPress禁止用户注册某些用户名

    2024-07-09 21:48:05       9 阅读
  2. go内存返还系统相关代码

    2024-07-09 21:48:05       8 阅读
  3. 如何使用 Puppeteer 避免机器人检测?

    2024-07-09 21:48:05       6 阅读
  4. 面试经典 150 题

    2024-07-09 21:48:05       7 阅读
  5. MySQL8之mysql-community-common的作用

    2024-07-09 21:48:05       6 阅读
  6. 机器学习综述

    2024-07-09 21:48:05       7 阅读
  7. Qt | Qt常用类列举和说明

    2024-07-09 21:48:05       5 阅读
  8. chatgpt工作原理

    2024-07-09 21:48:05       7 阅读
  9. 在make类构建系统配置文件中定义函数宏

    2024-07-09 21:48:05       4 阅读