Git

一、学习目标

git的使用

二、git简介

2.1 概念

git是一个分布式代码管理工具,为了简化开发过程中的代码管理以及团队之间的协调开发

2.2 git与svn

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。

集中式版本控制工具缺点:

服务器单点故障

容错性差

Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS) ,分为两种类型的仓库:

本地仓库和远程仓库

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

远程仓库:是在远程服务器上的Git仓库

Clone:克隆,就是将远程仓库复制到本地

Push:推送,就是将本地仓库代码上传到远程仓库

Pull:拉取,就是将远程仓库代码下载到本地仓库

2.3 工作的流程

工作流程如下:

1.从远程仓库中克隆代码到本地仓库

2.从本地仓库中checkout代码然后进行代码修改

3.在提交前先将代码提交到暂存区

4.提交到本地仓库。本地仓库中保存修改的各个历史版本

5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库

三、git安装与基本使用

3.1 安装

到官网下载git安装包https://git-scm.com/downloads

使用默认配置安装即可

3.2 使用

一般我们不使用指令形式进行使用。因为一般的开发工具都已经集成了git的相应功能,只需要点击对应功能按钮即可

3.2.1 基本配置

配置本地git连接的远程仓库的账号

右键点击git bash here

输入git config --global user.name=“你的账号名”

输入git config --global user.email=“你的账号”

输入git config --list 查看配置信息

3.3 在本地创建git仓库

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

获取Git仓库通常有两种方式:

在本地初始化一个Git仓库

从远程仓库克隆

3.3.1 本地初始化创建

使用git init将指定文件夹作为git仓库初始化

  1. 在电脑的任意位置创建一个空目录(例如repo1)作为我们的本地Git仓库
  2. 进入这个目录中,点击右键打开Git bash窗口
  3. 执行命令git init

.git隐藏文件夹保存着当前文件夹中所有操作步骤,在提交到远程仓库时可会将这些修改步骤提交

3.3.2 远程仓库克隆

(1)使用网络指令克隆

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

命令形式为:git clone 远程Git仓库地址

注意:需要将仓库开源否则不允许外部clone下载

(2)下载仓库压缩包形式

找到相应的仓库点击下载

下载只会下载文件代码,需要在解压后的文件夹中执行 git init进行仓库初始化

3.4 工作目录、暂存区以及版本库概念

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

版本库:前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等

工作目录(工作区):包含.git文件夹的目录就是工作目录,主要用于存放开发的代码

暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方

git的使用流程

git使用的是分布式代码管理,拥有远程仓库与本地仓库两个仓库,远程仓库是核心保存文件的版本仓库,本地仓库是不同开发人员创建的保存开发过程中修改的版本仓库,可以使用克隆将远程仓库中的代码进行下载之后进行修改操作,在修改过程中,所有的修改默认保存咋相应修改的工作区中,需要执行代码将保存在工作区的修改提交到缓存区,在确定真正修改时,将缓存区的代码提交到版本库,在功能书写完毕并提交到版本库后,将本地仓库提交到远程仓库(分支),远程仓库根据提交的修改进行代码的合并(分支合并)

3.5 git文件状态

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

untracked 未跟踪(未被纳入版本控制)

tracked 已跟踪(被纳入版本控制)

Unmodified 未修改状态

Modified 已修改状态

Staged 已暂存状态

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

3.6 常用指令

git add 将工作区修改添加至缓存区

git commit 将缓存区修改提交到本地仓库

git status 获取当前仓库状态

git reset 将暂存区的文件取消暂存

git rm 删除文件

git忽略文件

固定名称的.gitignore

在其中书写不由git管理的文件夹或文件,那么git对其修改不会管理

# 不管名为a的文件
*.a
# 忽略忽略的lib下的a文件
!lib.a
# 忽略当前文件下的test文件下的所有文件(出现在非当前文件下的test不忽略)
/test
# 忽略所有build文件夹下的文件
build/
# 忽略doc下的所有以txt结尾的文件(不包含子文件)
doc/*.txt
# 忽略doc下的所有以pdf结尾的文件(包含子文件)
doc/**/*.pdf

3.7 远程仓库连接

如果想查看已经配置的远程仓库服务器,可以运行 git remote 命令。 它会列出指定的每一个远程服务器的简写。 如果已经克隆了远程仓库,那么至少应该能看到 origin ,这是 Git 克隆的仓库服务器的默认名字

查询的该仓库为从远程仓库上克隆的仓库

注意:如果当期仓库是由git init指令初始化创建的那么默认没有远程连接

**使用git remote -v可能在本地创建的仓库,查询结果如下

如果没有定义远程仓库可以使用指令git remote add添加

运行 git remote add 添加一个新的远程 Git 仓库,同时指定一个可以引用的简写

如果原有的远程地址失效可以将本地设置的远程连接使用指令git remote rm 移除

运行 git remote rm 连接名 移除本地已有远程连接

在进行代码编辑时使用指令 git pull 获取远程仓库最新版本

git pull 连接名 分支名

注意:pull操作会自动进行合并,需要当前仓库就是从远程仓库克隆下来的(也可以添加参数忽略)

在本地修改文件后提交至本地仓库后使用git push指令将本地仓库提交至远程仓库保存

git push 连接名 分支名

3.8 分支

几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。Git 的master分支并不是一个特殊分支。 它跟其它分支没有区别。 之所以几乎每一个仓库都有 master 分支,是因为git init 命令默认创建它,并且大多数人都懒得去改动它。

可以理解为代码的备份,在进行代码push时通常会为本次的提交新建分支,提交成功后由管理员进行分支的合并

查看分支

# 列出所有本地分支

$ git branch

# 列出所有远程分支

$ git branch -r

# 列出所有本地分支和远程分支

$ git branch -a

创建分支

使用当前状态创建分支(将当前的所有内容进行备份)

git branch 分支名

切换分支

将当前操作的分支切换为指定分支

git checkout 切换分支名

删除分支

将无用分支删除

git branch -D 分支名

四、git远程仓库gitee码云的使用

4.1 常用的Git代码托管服务

前面我们已经知道了Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。

gitHub( 地址:https://github.com/ )是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub

码云(地址: https://gitee.com/ )是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快

GitLab (地址: https://about.gitlab.com/ )是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

4.2 创建远程仓库

在登录创建的账号后

输入创建仓库的信息

会为这个仓库创建唯一的远程连接地址

一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务

gitee的下载安装以及简单使用相关推荐

  1. Xshell7工具下载安装以及简单使用

    Xshell7工具下载安装以及简单使用 1.Xshell7工具下载,下载链接如下: 链接:https://pan.baidu.com/s/1P_Lri8D-sToWyQv-Le3EEQ 提取码:7dc ...

  2. Fritzing0.9.10下载安装和简单使用

    Fritzing0.9.10下载安装和简单使用 一.前言 二.Fritzing安装 三.简单使用 3.1.搜索元器件 3.2.旋转元器件 3.3.导入元器件 3.4.导出成图片 四.总结 一.前言 F ...

  3. Nginx下载安装及简单配置

    Nginx下载安装及简单配置 下载 配置Nginx 下载 Nginx官网下载路径 解压后目录如下: 配置Nginx 打开 conf/nginx.conf 配置文件 添加一个server,进行简单的测试 ...

  4. windows环境Nginx下载安装及简单配置

    一.下载安装 Nginx官网:http://nginx.org/en/download.html 打开官网,我们选择稳定的Windows版本下载,然后解压. 解压后目录如下: 二.配置Nginx 安装 ...

  5. Nginx下载安装以及简单使用

    本文来说下Nginx的下载安装以及常用功能的简单使用 文章目录 下载nginx 启动nginx 关闭nginx 重启Nginx 本文小结 下载nginx 下载地址:http://nginx.org/e ...

  6. Git和小乌龟的下载安装及简单使用

    一.windows系统安装git 首先下载git for windows客户端http://msysgit.github.io/ 安装过程没什么特别的,不停next就ok了 详细步骤请看Git下载安装 ...

  7. [Unity多人游戏插件]Playfab 的下载 安装以及简单的说明

    Playfab :虚拟道具交易,排名 教程难易理解 Playfab官网:https://developer.playfab.com/ Playfab 的Unity 文档页面:https://api.p ...

  8. 字符识别软件tesseract-ocr v5.1.0下载安装及简单使用(Win10)

    Tesseract是github上的OCR(optical character recognition,光学字符识别)开源库,可将包含文本的图像识别为计算机文字(计算机黑白点阵).图像中的文本一般为印 ...

  9. Linux服务器安装/配置宝塔bt,附Xshell和Xftp下载安装和简单使用教程

    文章目录 前言 一.安装Xshell7和Xftp7 二.使用Xshell连接Linux服务器 1.服务器配置 2.Xshell配置 三.安装宝塔bt 1.服务器配置 2.安装配置 总结 前言 之前使用 ...

  10. DirBuster目录扫描工具下载安装和简单使用

    参考资料<Web安全攻防 渗透测试实战指南> DirBuster是OWASP开发的,基于Java编写的,专门用于探测Web服务器的目录和隐藏文件的工具,需要在在JRE下安装. 一.准备JA ...

最新文章

  1. 顶配版阿里大佬面试笔记+300道硬核面试题,跪着啃完了。。。。
  2. vue项目如何部署到Tomcat中
  3. Codeforces Round #720 (Div. 2) C. Nastia and a Hidden Permutation 交互
  4. 异步解耦_如何使用异步生成器解耦业务逻辑
  5. mac mysql 默认字符集_MacOS中Mysql设置默认字符集
  6. html5 注册协议弹出层,js制作带有遮罩弹出层实现登录注册表单特效代码分享
  7. JavaScript 获得当前日期+时间
  8. HTML+Javascript制作拼图小游戏详解(一)
  9. BI开发之——ETL注意细节
  10. 一个简单的BP神经网络matlab程序(附函数详解)
  11. 其实你的领导也有中年危机
  12. xml转matlab目标检测,将Cityscape转换为PASACAL VOC格式的目标检测数据集
  13. git 配置 diff 、 merge 工具: kdiff3
  14. AD7705驱动代码 -- Linux SPI设备驱动
  15. CTA-敏感行为-复制到剪切板/从剪切板粘贴
  16. java设置连接超时_HttpClient设置连接超时时间
  17. 【XML系列】----DTD中的元素定义
  18. 将N阶矩阵M置成单位阵
  19. 90%的程序员都答不完的趣味题,答完领“神兵”!
  20. Java多线程-Thread、Runnable、Executor

热门文章

  1. CMT 注册——Google Scholar Id,Semantic Scholar Id,和 DBLP Id
  2. 2018年全国多校算法寒假训练营练习比赛(第三场)---I---题(皮克公式)
  3. 如何下载网页上的的FLASH
  4. podman加速器配置,harbor镜像仓库部署
  5. 创翼软件linux版本,电信创翼客户端下载
  6. 亚像素边缘检测提取算法的实现
  7. 解决 zsh:command not found
  8. 你眼中的程序员是什么样子的?
  9. 【数学建模】实验设计方法
  10. raid数据恢复,Raid5磁盘阵列数据恢复案例,服务器数据恢复