ip会变怎么做网站/百度推广怎么运营
1. Git概述
1.1 什么是Git?
- Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。
其它的版本控制工具
- SVN
- CVS
- VSS
1.2 学完Git之后能做什么
-
代码回溯:Git在管理文件过程中会记录日志,方便回退到历史版本
-
版本切换:Git存在分支的概念,一个项目可以有多个分支(版本),可以任意切换
-
多人协作:Git支持多人协作,即一个团队共同开发一个项目,每个团队成员负责一部分代码,通过Git就可以管理和协调
-
远程备份:Git通过仓库管理文件,在Git中存在远程仓库,如果本地文件丢失还可以从远程仓库获取
2. Git概述
2.1 Git简介
Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理,通过Git仓库来存储和管理这些文件,Git仓库分为两种:
- 本地仓库:指的是存储在各个开发人员自己本机电脑上的Git仓库
- 远程仓库:指的是远程服务器上的Git仓库
解释说明:
- commit:提交,将本地文件和版本信息保存到本地仓库
- push:推送(上传),将本地仓库文件和版本信息上传到远程仓库
- pull:拉取(下载),将远程仓库文件和版本信息下载到本地仓库
2.2 Git下载与安装
下载地址: Git - Downloads
下载完成后得到安装文件:
直接双击完成安装即可,安装完成后可以在任意目录下点击鼠标右键,如果能够看到如下菜单则说明安装成功:
Git GUI Here:打开Git图形界面(一般用不上)
Git Bash Here:打开Git命令行
我们用Git,主要是用Git命令行,在命令行当中通过指令来操作Git!
Git安装目录结构如下:
3. Git代码托管服务
3.1 常用的Git代码托管服务
Git中存在两种类型的仓库,即本地仓库和远程仓库,那么我们如何搭建Git远程仓库呢?
我们可以借助互联网上提供的一些代理托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。
名称 | 网址 | 说明 |
---|---|---|
GitHub | GitHub: Let’s build from here · GitHub | 一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名GitHub |
Gitee码云 | Gitee - 基于 Git 的代码托管和研发协作平台 | 国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快 |
GitLab | The DevSecOps Platform | GitLab | 一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务 |
BitBucket | Bitbucket | Git solution for teams using Jira | 一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户 |
3.2 码云代码托管服务
码云网址:Gitee - 基于 Git 的代码托管和研发协作平台
3.2.3 创建远程仓库
登录成功后可以创建远程仓库,操作方式如下:
页面跳转到新建仓库页面:
点击创建即可:
解释说明:
- 仓库名称:必填,每个仓库都需要有一个名称,同一个码云账号下的仓库名称不能重复
- 路径:访问远程仓库晖使用到,一般无需手动指定,和仓库名称自动保持一致
- 开源:所有人都可以查看此仓库
- 私有:只有仅仓库成员可见,其他人不可见
创建完成后可以查看仓库信息:
注意:
- 每个Git远程仓库都会对应一个网络地址,点击【克隆/下载】按钮,在弹出窗口点击【复制】按钮即可复制网络地址,地址如下:
3.2.4 邀请其他用户成为仓库成员
前面已经在码云上创建了自己的远程仓库,目前仓库成员只有自己一个人(身份为管理员)。在企业实际开发中,一个项目往往是由多个人共同开发完成的,为了使多个参与者都有权限操作远程仓库,就需要邀请其他项目参与者成为当前仓库的成员。
点击【开发者】菜单,跳转到如下页面:
点击【添加仓库成员】菜单下的【邀请用户】菜单,跳转到如下页面:
可以看到邀请用户有多种方式:链接邀请、直接添加、通过仓库邀请成员
注意:被邀请用户必须为码云的注册用户,否则无法成为仓库成员
4. Git常用命令
4.1 Git全局设置
当安装Git后首先要做的事情是设置用户名称和email地址,这是非常重要的,因为每次Git提交都会使用该用户信息。
在Git命令行中执行下面命令:
设置用户信息
git config --global user.name "用户名"git config --global user.email "邮箱"
查看配置信息
git config --list
注意:
- 上面设置的user.name和user.email并不是我们在注册码云账号时使用的用户名和邮箱,此处可以任意设置。
4.2 获取Git仓库
如何来构建一个Git的本地仓库?
要使用Git对我们的代码进行版本控制,要使用Git对我们的代码进行管理,首先需要获得Git仓库。
获取Git仓库通常有两种方式:
- 从本地初始化一个Git仓库(不常用)
- 从远程仓库去克隆一个Git仓库(常用)
4.2.1 在本地初始化Git仓库
操作步骤如下:
-
在任意目录下创建一个空目录(例如repo1)作为我们的本地Git仓库
-
进入这个目录中,点击右键打开Git bash窗口
-
执行命令git init
如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功
4.2.2 从远程仓库去克隆一个Git仓库(常用)
可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地,这时候你的本地也会产生一个本地仓库
命令格式:git clone [远程Git仓库地址]
注意:一个文件夹下只能有一个本地仓库
4.3 基本概念
为了更好的学习Git,我们需要了解Git相关的一些概念,这些概念在后面的学习中会经常提到。
4.3.1 版本库 & 工作区 & 暂存区
版本库:指的就是Git的本地仓库,前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多Git的配置信息、日志信息和文件版本信息等。
工作区:包含.git文件夹所在的目录就是工作区(与.git隐藏文件夹所平级的目录所在的文件夹就是工作区),也称为工作目录,主要用于存放开发的代码。
暂存区:.git文件夹中有很多文件夹,其中有一个index文件就是暂存区,也可以叫做stage,暂存区是一个临时保存修改文件的地方。
工作区当中的这些文件要想进入到版本库,它得先进入到暂存区。
工作区当中存放的代码文件要想被Git进行版本控制,首先它得由工作区进入到暂存区,因为暂存区当中存放的就是临时修改的一些文件,工作区先进入暂存区,然后接下来这个文件最终要想交给Git进行版本控制,得由暂存区再进入到版本库。
git add:将工作区当中的某一个文件加入到暂存区,进入到暂存区之后,如果你想把这个文件交给Git的版本库进行管理,再执行一条指令,叫git commit => 将暂存区当中的文件直接提交到版本库当中。
验证:.git目录如果已经存在index文件,说明工作区当中的文件已经成功进入到暂存区!
-m:代表的是message,就是你当前提交的是什么信息,你得给我加个注释信息。
git commit -m 'xxx' 指定要提交工作区当中的文件
- 每一次提交都会产生一个新的版本号:
insertions:增加
4.3.2 工作区文件状态
Git工作区中的文件存在两种状态:
untracked:未跟踪(未被纳入版本控制)
tracked:已跟踪(已被纳入版本控制)
- Unmodified:未修改状态
- Modified:已修改状态
- Staged:已暂存状态
注意:这些文件的状态它不是固定的,它会随着我们执行Git的命令发生变化
注意:由于工作区中文件状态的不同,执行 git status 命令后的输出也会不同!
专门查看当前该Git本地仓库的状态:git status
注意:一个新的文件把它添加到暂存区只需要添加一次!
4.4 本地仓库操作
本地仓库常用命令如下:
- git status:查看工作区当中各个文件的状态
- git add file1 file2:将文件的修改加入暂存区(将工作区当中的文件加入到暂存区,可以一次性添加多个文件),加入暂存区后再执行 git status 命令,可以发现文件的状态已经发生变化。
- git reset:将暂存区的文件取消暂存退回到工作区状态或者是切换到指定版本
- git commit:将暂存区当中的文件修改提交到版本库,命令格式:git commit -m 'msg' 文件名
- git log:查看提交日志
git add .{将全部文件添加到暂存区}
git commit -m 'msg' :将暂存区当中的文件修改全部提交到版本库
取消暂存命令格式:git reset 文件名
切换到指定版本命令格式(回退版本,git本地回退到之前版本):git reset --hard 版本号 => 版本切换或代码回溯
注意:每次Git提交都会产生新的版本号,通过版本号就可以回到历史版本
git commit 命令的作用是将暂存区的文件修改提交到版本库,命令格式:git commit -m 'msg' 文件名
解释说明:
- -m:代表message,每次提交时需要设置,会记录到日志中
- 可以使用通配符*一次提交多个文件
git log 命令的作用是查看提交日志
通过git log命令查看提交日志,可以发现每次提交都会产生一个版本号,提交时设置的message、提交人、邮箱、提交时间等信息都会记录到日志中。
HEAD表示当前处于哪个版本!
4.5 远程仓库操作
前面执行的命令操作都是针对的本地仓库,接下来我们会学习关于远程仓库的一些操作,具体包括:
- git remote:查看远程仓库
- git remote add:添加远程仓库
- git clone:从远程仓库克隆
- git pull:从远程仓库拉取
- git push:推送到远程仓库
4.6.1 git remote - 查看本地仓库所关联的远程仓库
- 如果想查看已经配置的远程仓库服务器,可以运行git remote命令,它会列出每一个远程服务器的简写;
- 如果已经克隆了远程仓库,那么至少应该能看到origin,这是Git克隆的仓库服务器的默认名字。
git remote -v:查看远程仓库的详细信息
解释说明:
- 可以通过-v参数查看远程仓库更加详细的信息
- 本地仓库配置的远程仓库都需要一个简称,后续在和远程仓库交互时会使用到这个简称
4.6.2 git remote add - 添加一个本地仓库所关联的远程仓库
添加远程仓库命令格式:git remote add 简称 / 别名 远程仓库地址 - URI
注意:一个本地仓库可以关联多个远程仓库
- push:推送
- fetch:拉取
4.6.3 git clone:远程仓库克隆
如果你想获得一份已经存在了的Git远程仓库的拷贝,这时就要用到git clone命令,git clone克隆的是该Git仓库服务器上的几乎所有数据(包括日志信息、历史记录等),而不仅仅是复制工作所需要的文件。
克隆仓库的命令格式是:git clone URI - 远程仓库地址
- 因为要查看的日志以及版本信息都在.git文件夹当中!
4.6.4 git push - 推送到远程仓库
将本地仓库内容推送到远程仓库,可以使用命令:
- git push 远程仓库简称(remote-name) 分支名称(branch-name)
在使用git push命令将本地文件推送至码云远程仓库时,如果是第一次操作,需要进行身份认证,认证通过才可以推送,如下:
注意:上面的用户名和密码对应的就是我们在码云上注册的用户名和密码,认证通过后会将用户名和密码保存到windows系统中(如下图),后续再推送则无需重复输入用户名和密码。
推送完成后可以到远程仓库中查看文件的变化。
解释说明:
- 一个仓库可以有多个分支,默认情况下在创建仓库后会自动创建一个master分支。
4.6.5 git pull
- git pull 命令的作用是从远程仓库获取最新版本并合并到本地仓库
命令格式:git pull 远程仓库简称(remote-name) 分支名称(branch-name)
注意:克隆只需要克隆一次,后续的每一次操作都是pull拉取!
注意:
- 如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories )
解决此问题可以在git pull命令后加入参数 --allow-unrelated-histories
4.7 分支操作
- 分支是Git使用过程中非常重要的概念,使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。
- 同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
- 通过git init命令创建本地仓库时默认会创建一个master分支。
- master也叫主分支,master分支是默认的分支
而在Git当中还有一个指针,叫head指针,head指针它就是用来指向你当前正在使用的分支的。
本节我们会学习关于分支的相关命令,具体命令如下:
-
git branch 查看分支
-
git branch [name] 创建分支
-
git checkout [name] 切换分支
-
git push [shortName远程仓库简称] [分支名称name] 推送至远程仓库分支
-
git merge [name] 合并分支
-
git branch -d [name] 删除分支
4.7.1 git branch:查看分支
查看分支命令:git branch
- git branch:列出所有本地分支
- git branch -r:列出所有远程分支
- git branch -a:列出所有本地分支和远程分支
*号代表是当前处于哪个分支!
4.7.2 git branch name:创建分支
- 创建分支命令格式:git branch 分支名称
4.7.3 git checkout name:切换分支
- 一个仓库中可以有多个分支,切换分支命令格式:git checkout 分支名称
注意:在命令行中会显示出当前所在分支,如上图所示。
4.7.4 推送至远程仓库分支
- 推送至远程仓库分支命令格式:git push 远程仓库简称 分支名称
推送完成后可以查看远程仓库:
4.7.5 git merge name-要合并的分支名称:合并分支
- 合并分支就是将两个分支的文件进行合并处理,命令格式:git merge 分支名称
git merge 分支名称:将指定分支的代码合并到当前分支
注意:
- 分支合并时需注意合并的方向,如上图所示,在Master分支执行操作,结果就是将slave1分支合并到Master分支。
4.7.6 git branch -d [name] 删除分支
输入git branch --help,会打开帮助文档:
4.8 标签操作
- Git中的标签,指的是某个分支在某个特定时间点的状态(类似于快照,它是某一个时刻的状态),通过标签,可以很方便的切换到标记时的状态。
- 比较有代表性的是人们会使用标签这个功能来标记发布结点(v1.0、v1.2等),每发布一个版本,就会打一个标签。
下面是PageHelper的标签:
标签操作的相关命令如下:
- git tag:列出已有的标签
- git tag [name标签名称]:创建标签
- git push [shortName远程仓库简称] [name标签名称]:将标签推送至远程仓库
- git checkout -b [branch分支名] [name标签名]:检出标签,就是把本地仓库当中某一个标签的内容我检出来,检出之后,我在这一块儿要产生一个新的分支,这个分支当中的代码就是标签当中的代码。
4.8.1 git tag [name标签名称]:创建标签
4.8.2 git tag:查看标签
4.8.3 git push shortName-远程仓库简称 name-标签名:将标签推送至远程仓库
推送完成后可以在远程仓库中查看标签:
4.8.4 检出标签 - git checkout -b [branch分支名] [name标签名]
检出标签时需要新建一个分支来指向某个标签,检出标签的命令格式:git checkout -b 分支名 标签名
相关文章:

《Git学习笔记:Git入门 常用命令》
1. Git概述 1.1 什么是Git? Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。 其它的版本控制工具 SVNCVSVSS 1.2 学完Git之后能做…...

小程序跳转安卓会跳转两次 iOS不会的解决方案
原因:元素点击事件在子元素上有绑定,父元素上也有绑定会形成冒泡事件; 原生小程序: bind:tap:会冒泡; <view bind:tap"gotoDetail"><image :src"{{ item2.img }}" mode&qu…...

vue3+ts 中实现压缩图片、blob 转 base64
压缩图片 1.npm 安装 image-compressor.js 2.引入 import ImageCompressor from image-compressor.js 3.使用 const compressImage async (file: any) > {var imageCompressor new ImageCompressor()return new Promise((resolve, reject) > {imageCompressor.comp…...

(框架设计-基础库建设) boost 库
“框架”这个词所有的开发都听过,但是有多少人能理解框架的作用?为什么要花那么大精力去弄一个框架?大家应该都听过各个大厂稍微大点的项目都会有一个“框架组”/“架构组”等。 费这么大人力组建一个组来 做框架/架构 到底值不值呢ÿ…...

将ResultSet转实体类
将ResultSet转实体类 sqlExecutor.executeQuery的执行结果的返回值是ResultSet:package java.sql; 一般在程序中我们需要把查询结果转为实体类返回给前端,此处可以使用的方法: ResultSet转实体类方法1 2 1:resultSet.getXXX(columnIndex)…...

Web后端开发
一、Maven 1.1 简介 1.2 作用 1.3 流程 通过各种插件实现项目的标准化构建。 1.4 安装 1.5 配置环境 1.5.1 当前工程环境 1.5.2 全局环境 1.6 创建 Maven项目 1.7 导入项目 1.8 依赖管理 1.8.1 依赖配置 1.8.2 依赖传递 pom.xml——右键——Diagrams——show dependen…...

CAN201 计网概念收集
Lecture 1 the theoretical basis for networking Network edge and core 地理覆盖范围:广WAN,城MAN,局LAN,个PAN 交换方式,电路,报文,分组 电路交换vs报文vs分组 Network performance pr…...

【占用网络】FlashOcc:快速、易部署的占用预测模型
前言 FlashOcc是一个它只需2D卷积就能实现“占用预测模型”,具有快速、节约内存、易部署的特点。 它首先采用2D卷积提取图形信息,生成BEV特征。然后通过通道到高度变换,将BEV特征提升到3D空间特征。 对于常规的占用预测模型,将…...

239.【2023年华为OD机试真题(C卷)】求幸存者之和(模拟跳数-JavaPythonC++JS实现)
🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-求幸存数之和二.解题思路三.题解代码Python题解…...

Pytorch中的标准维度顺序
在PyTorch中,如果一个张量包括通道数(C)、宽度(W)、高度(H)和批量大小(N),那么它的标准维度顺序是 [N, C, H, W],即: 第一个维度 N 是…...

Nginx的安装配置和使用
最近有好几个地方用到了nginx,但是一直还没时间记录下nginx的安装、配置和使用,这篇文章可以将这块内容整理出来,方便大家一起学习~ 安装 安装是相对简单一些的,直接使用yum即可。 yum install -y nginx 默认安装位置在/usr/sb…...

P1643 完美数 题解
完美数 首先,介绍一下这篇题解的特邀嘉宾:ChatGPT4.0 传送门 题目描述 考古队员小星在一次考察中意外跌入深渊,穿越到了一个神秘的荒漠。这里有许多超越他认识的事物存在,例如许多漂浮在空中的建筑,例如各种奇怪的…...

docker一键安装
1.把docker_compose_install文件夹放在任意路径; 2.chmod -R 777 install.sh 3.执行./install.sh 兼容:CentOS7.6、麒麟V10服务器版、统信UOS等操作系统。 下载地址(本人上传,免积分下载):https://downlo…...

模板管理支持批量操作,DataEase开源数据可视化分析平台v2.2.0发布
2024年1月8日,DataEase开源数据可视化分析平台正式发布v2.2.0版本。 这一版本的功能升级包括:在“模板管理”页面中,用户可以通过模板管理的批量操作功能,对已有模板进行快速重新分类、删除等维护操作;数据大屏中&…...

阿里云实时计算企业级状态存储引擎 Gemini 技术解读
本文整理自阿里云 Flink 存储引擎团队李晋忠,兰兆千,梅源关于阿里云实时计算企业级状态存储引擎 Gemini 的研究,内容主要分为以下五部分: 流计算状态访问的痛点企业级状态存储引擎GeminiGemini 性能评测&线上表现结语参考 一、…...

web缓存之nginx缓存
一、nginx缓存知识 网络缓存位于客户端和 "源服务器 "之间,保存着所有可见内容的副本。当客户端请求缓存中存储的内容时,它可以直接从缓存中检索内容,而无需与服务器通信。这样,网络缓存就 "接近 "了客户端&a…...

【用法总结】无障碍AccessibilityService
一、背景 本文仅用于做学习总结,转换成自己的理解,方便需要时快速查阅,深入研究可以去官网了解更多:官网链接点这里 之前对接AI语音功能时,发现有些按钮(或文本)在我没有主动注册唤醒词场景…...

AI绘画风格化实战
在社交软件和短视频平台上,我们时常能看到各种特色鲜明的视觉效果,比如卡通化的图片和中国风的视频剪辑。这些有趣的风格化效果其实都是图像风格化技术的应用成果。 风格化效果举例 MidLibrary 这个网站提供了不同的图像风格,每一种都带有鲜…...

008定点小数、奇偶校验码
...

一、二进制方式 安装部署K8S
目录 一、操作系统初始化 1、关闭防火墙 2、关闭 SELinu 3、 关闭 swap 4、添加hosts 5、同步系统时间 二、集群搭建 —— 使用外部Etcd集群 1、自签证书 2、自签 Etcd SSL 证书 ① 创建 CA 配置文件:ca-config.json ② 创建 CA 证书签名请求文件ÿ…...

【simple-admin】FMS模块如何快速接入阿里云oss 腾讯云cos 服务 实现快速上传文件功能落地
让我们一起支持群主维护simple-admin 社群吧!!! 不能加入星球的朋友记得来点个Star!! https://github.com/suyuan32/simple-admin-core 一、前提准备 1、goctls版本 goctls官方git:https://github.com/suyuan32/goctls 确保 goctls是最新版本 v1.6.19 goctls -v goct…...

数据结构.线性表(2)
一、模板 例子: a: b: 二、基本操作的实现 (1)初始化 (2)销毁和清空 (3)求长度和判断是否为空 (4)取值 (5)查找 (6)插入 &…...

【计算机网络】TCP原理 | 可靠性机制分析(三)
个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】【Java系列】 本专栏旨在分享学习网络编程、计算机网络的一点学习心得,欢迎大家在评论区交流讨论💌 目…...

【昕宝爸爸小模块】线程的几种状态,状态之间怎样流转
➡️博客首页 https://blog.csdn.net/Java_Yangxiaoyuan 欢迎优秀的你👍点赞、🗂️收藏、加❤️关注哦。 本文章CSDN首发,欢迎转载,要注明出处哦! 先感谢优秀的你能认真的看完本文&…...

ChatGPT网站小蜜蜂AI更新了
ChatGPT网站小蜜蜂AI更新了 前阶段郭震兄弟刚开发小蜜蜂AI网站的的时候,写了一篇关于ChatGPT的网站小蜜蜂AI的博文[https://blog.csdn.net/weixin_41905135/article/details/135297581?spm1001.2014.3001.5501]。今天听说小蜜蜂网站又增加了新的功能——在线生成思…...

瑞_Java开发手册_(二)异常日志
文章目录 异常日志的意义(一) 错误码(二) 异常处理(三) 日志规约附:错误码列表 🙊前言:本文章为瑞_系列专栏之《Java开发手册》的异常日志篇,本篇章主要介绍异常日志的错误码、异常处理、日志规约。由于博主是从阿里的《Java开发手…...

Elasticsearch:Search tutorial - 使用 Python 进行搜索 (四)
在本节中,你将了解另一种机器学习搜索方法,该方法利用 Elastic Learned Sparse EncodeR 模型或 ELSER,这是一种由 Elastic 训练来执行语义搜索的自然语言处理模型。这是继之前的文章 “Elasticsearch:Search tutorial - 使用 Pyth…...

Python之Matplotlib绘图调节清晰度
Python之Matplotlib绘图调节清晰度 文章目录 Python之Matplotlib绘图调节清晰度引言解决方案dpi是什么?效果展示总结 引言 使用python中的matplotlib.pyplot绘图的时候,如果将图片显示出来,或者另存为图片,常常会出现清晰度不够的…...

pygame.error: video system not initialized
错误处理方式: pygame.init() 增加此行...

java面试题2024
前言 准备换工作了,给自己定个目标,每天至少整理出一道面试题。题型会比较随机,感觉这样更容易随机到面试官要问的东西。整理时我会把我认为正确的回答写出来,比较复杂的也尽量把原理贴出来,争取做到无论为了应付面试&…...