阶段七-GitEE

Git:版本控制软件

Git的优点

1.1 协同修改
  • 多人并行不悖的修改服务器端的同一个文件。

1.2 数据备份
  • 不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。

1.3 版本管理
  • 在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行效率。这方面 SVN 采用的是增量式管理的方式,而 Git 采取了文件系统快照的方式。

1.4 权限控制
  • 对团队中参与开发的人员进行权限控制。

  • 对团队外开发者贡献的代码进行审核——Git 独有。

1.5 历史记录
  • 查看修改人、修改时间、修改内容、日志信息。

  • 将本地文件恢复到某一个历史状态。

  • 分支管理。

  • 许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。

2. Git官网

  • 官网地址: Git

3. Git工作流程

代码工作区 ---> 执行git add ---> 暂存区(临时存储)---> 执行git commit ---> 本地库(历史版本)

工作区、暂存区和本地仓库,逻辑上是本地计算机。

  1. 当我们新建一个文件时,文件位于工作区,处于已修改(modified)状态,表明文件已进行了修改,但还没有提交保存;

  2. 通过命令 git add 将其添加到暂存区,文件是已暂存(staged)状态,表示把已修改的文件放到下次提交时要保存的清单中;

  3. 通过命令 git commit将文件放入本地仓库,文件为已提交(commited)状态,表示该文件已经被安全地保存在本地数据库中,到这一步可以说是成功生成了一个新的版本;

  4. 远程仓库用来将本地仓库上传到网络,实现备份、共享和合作。

三、Git的安装

1. 安装步骤

  1. 选择安装目录,全部下一步即可。

2. 验证是否安装成功

  1. 安装完打开Git Bash窗口 。

  2. 输入git --version 输出版本信息证明安装成功 。

四、Git基础指令

基础指令 (工作区, 暂存区 , 本地仓库)

1.git init : 初始化本地仓库

2.git add:文件名 | git add : 将工作区的修改添加到暂存区

3.git commit -m '描述' : 将暂存区的内容提交到本地仓库中

4.git diff 文件名: 查看工作区文件和本地仓库(版本库)的区别

5.git log  : 查看详细日志

   git log --pretty=oneline : 展示一行日志

   git reflog : 简化日志

6.git reset --hard 局部版本号(完整版本号也行) : 恢复版本

7.git rm 文件名 : 删除文件,将删除的文件添加到暂存区

五、常见的远程仓库

1. Github

Github是目前全球最大的代码托管平台。也是Git官方指定的远程仓库。里面包含了全球很多开源项目。

但是由于Github是国外的服务器,所以在国内(尤其网络不是很好的地方)在进行推送内容或拉取内容时的速度可能不是特别快。

2. Gitee

Gitee 中文名称码云。

是国内目前最大的代码托管平台。号称中国版Github。是由开源中国推出的。

近几年在选择远程仓库时Gitee常作为国内开发者首选。

六、远程仓库操作(以码云为例)

1. 在码云注册账号

2. 创建远程仓库

2.1 注册

首先需要注册一直自己的账号。注册后完成登录。

2.2 创建仓库

点击右上角“+” -》 新建仓库 -》创建一个新的仓库。

2.3 填写仓库信息。
  • 仓库名称是必填项。

  • 是否开源选择开源。

  • 取消勾选“使用Readme文件初始化这个仓库”。

3. 推送到远程

远程仓库的操作:

1.创建远程仓库

        1.添加远程仓库地址

如果没有添加会报错

               git remote add orgin 地址

                1.使用仓库的https协议

                        1.将本地仓库中的内容推送到远程库中,需要输入远程仓库的用户名,密码

                        2.出现账号和密码输入错误,再使用时,还会使用错误的账号和密码

                                控制面板 -> 在搜索框搜索凭据 -> 凭据管理器 -> gitee相关 -> 删除记录

                2.使用仓库的SSH协议

                        1.将本地库中的内容推送到远程库时,不需要输入用户名和密码

                         2.生成公钥和私钥,将公钥配置在远程仓库中。官方文档有

         2.推送到远程仓库的主分支中:

                git bush -u origin master

                -u 本地分支和远程分支建立关联,建立关联联系后可以使用git push

                查看本地分支和远程分支是否存在关联关系

                git branch -vv

                

4. 克隆远程仓库到本地

克隆远程仓库的项目:

  git clone https://地址 对于公开仓库允许被克隆,直接克隆

  git clone ssh地址 gitee必须配置了本地git的公钥

七、分支操作

1. 分支概念

在版本控制过程中,多个分支可以同时推进,提高开发效率,各个分支互不影响,增加了容错性。

在版本控制过程中,使用多条线同时推进多个任务。每条线成为一个分支。

开发中常见的分支:

1.1 Master

主分支;主要是稳定的版本分支,正式发布的版本都从Master拉。

1.2 Develop

开发分支;更新和变动最频繁的分支,正常情况下开发都是在Develop分支上进行的。

1.3 Release

预发行分支;一般来说,代表一个版本的功能全部开发完成后递交测试,测试出Bug后进行修复的分支。

1.4 Features

功能分支; 其实Features不是一个分支,而是一个分支文件夹。里面包含了每个程序员开发的功能点。Feature开发完成后合入Develop分支。

1.5 HotFix

最希望不会被创建的分支;这个分支的存在是在已经正式上线的版本中,发现了重大Bug进行修复的分支。

2. 分支指令

默认只会创建主分支,可以创建其他分支.

创建了其他的分支,可以实现同时推进,互不影响

1.查看分支: git branch

2.创建分支: git branch 分支名

3.切换分支: git checkout 分支名

4.将本地分支推送到远程: git push origin 本地分支名:远程分支名

5.合并分支: 切换到主分支,合并其他分支. git merge --no-f 分支名

6.删除本地分支: git branch -d 分支名

7.删除远程分支: git push orgin --delete 远程分支名

未完待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/269835.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

搭建本地的pip镜像源

1. 创建文件夹:./pypi_mirror_test 2. 创建并进入conda虚拟环境,安装pip2pi包 pip install pip2pi 3. 下载pypi的packages 可以参考其他博客,或者我之前的博客. 偷懒,仅仅测试用的话: 1)在文件夹下创…

Django之按钮(actions)

开篇就是道歉,哈哈哈哈,托更了好久好久,最近太忙了没啥时间更新,各位看官有催更的阔以给我私信哇,希望各位看官给个三连!!!😍😍😍😍 …

操作系统期末复习知识点二计算与应用

1.理解银行家算法判断死锁的定理并能计算相关的参数。 2.能利用LRU、FIFO算法求缺页率。 3.纯页式管理中,求逻辑地址对应的物理地址,页号、页内地址长度,画出逻辑地址的格式,在引入块表时,求出有效访问时间。 4.可变分…

高德地图_公共交通路径规划API,获取两地点之间的驾车里程和时间

import pandas as pd import requests import jsondef get_dis_tm(origin, destination,city,cityd):url https://restapi.amap.com/v3/direction/transit/integrated?key xxx #这里就是需要去高德开放平台去申请key,请在xxxx位置填写,web服务APIlink {}origin{}&desti…

Android studio 使用greenDao根据实体类生成dao类

1.遇到的问题 使用android studio根据实体类生成dao其实也很简单,你只要实现 Parcelable Entity public class ConfigDataModel implements Parcelable {Id(autoincrement true)private Long id null; } 2.使用自带的方法生成 使用build-->make Project生成 …

SpringBoot - Maven 打包合并一个胖 JAR 以及主项目 JAR 依赖 JAR 分离打包解决方案

问题描述 <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.1.18.RELEASE</version><configuration><!--<classifier>exec</classifier>--…

视频号视频怎么保存到手机相册?

在微信视频号中看到喜欢的视频&#xff0c;想要缓存下载到手机&#xff0c;却怎么也找不到办法。很多朋友会选择去录屏&#xff0c;但保存下来的视频实在是不美观&#xff0c;而且费时费力&#xff01;着实没必要&#xff01;下面给大家推荐一款亲测有效的微信视频号视频下载方…

异策略深度强化学习中的经验回放研究综述

源自&#xff1a;自动化学报 作者&#xff1a;胡子剑, 高晓光, 万开方, 张乐天, 汪强龙 “人工智能技术与咨询” 发布 摘 要 作为一种不需要事先获得训练数据的机器学习方法, 强化学习(Reinforcement learning, RL)在智能体与环境的不断交互过程中寻找最优策略, 是解决序贯…

nginx记录配置文件

查询当前域名配置所在的nginx文件路径 1&#xff1a;nginx -t 2&#xff1a;cd /usr/local/nginx/conf (如果没看到conf文件&#xff0c;那就根据不同公司定制的规则&#xff0c;这里是才conf下的vhost/) 3:cat xxx.conf 能看到 包应该要放的位置 4&#xff1a;把包解压到…

C#实现串口通讯

1、官网下载Launch Virtual Serial Port Driver Virtual Serial Port Driver - create and emulate virtual COM port&#xff0c;开个虚拟串口&#xff1a; Pair模式&#xff08;一对&#xff0c;成双成对的意思&#xff0c;就是COM1向COM2传或者COM2向COM1,好比两台机器的CO…

css mask 案例

文章目录 一、基本用法二、图案遮罩二、文字阴影效果三、日历探照灯效果 CSS的mask属性用于定义一个可重复使用的遮罩&#xff0c;可以将其应用到任何可视元素上。这个功能类似于Photoshop中的图层蒙版。通过mask属性&#xff0c;可以创建独特的效果&#xff0c;比如圆形、渐变…

华为云Windows Server服务器下,Node使用pm2-logrotate分割pm2日志,解决pm2日志内存占用过高的问题。

一、简介 PM2 是一个守护进程管理器&#xff0c;它将帮助您管理和保持您的应用程序在线。PM2 入门很简单&#xff0c;它以简单直观的 CLI 形式提供&#xff0c;可通过 NPM 安装。官网地址&#xff1a;https://pm2.keymetrics.io/ 二、问题&#xff1a;pm2日志内存占用过高&am…

uniapp 添加分包页面,配置分包预下载

为什么要分包 ? 分包即将小程序代码分成多个部分打包&#xff0c;可以减少小程序的加载时间&#xff0c;提升用户体验 添加分包页面 比较便捷的方法是使用vscode插件 uni-create-view 新建分包文件夹 以在我的页面&#xff0c;添加分包的设置页面为例&#xff0c;新建文件夹 s…

Nature | 大型语言模型(LLM)能够产生和发现新知识吗?

大型语言模型&#xff08;LLM&#xff09;是基于大量数据进行预训练的超大型深度学习模型。底层转换器是一组神经网络&#xff0c;这些神经网络由具有自注意力功能的编码器和解码器组成。编码器和解码器从一系列文本中提取含义&#xff0c;并理解其中的单词和短语之间的关系。通…

nginx userid到底做了啥?

我们公司在用nginx的userid模块作为简单的用户请求追踪使用。这个模块其实并不能真正记录用户的请求状态&#xff0c;只能作为一个辅助使用。但是在一些场景下会有一些异常。下面我们简单介绍一下这个模块到底做了什么。 userid 模块简介 官网说明文档 ngx_http_userid_modul…

蓝桥杯c/c++程序设计——数位排序

数位排序【第十三届】【省赛】【C组】 题目描述 小蓝对一个数的数位之和很感兴趣&#xff0c;今天他要按照数位之和给数排序。 当两个数各个数位之和不同时&#xff0c;将数位和较小的排在前面&#xff0c;当数位之和相等时&#xff0c;将数值小的排在前面。 例如&#xff0…

CAD objectArx 在操作mfc时出现“不支持尝试执行的操作“

问题原因&#xff1a; ARX中对话框通常继承自CAcUiDialog&#xff0c;CAcUiDialog 构造函数有个参数 HINSTANCE hInstance&#xff0c;默认为 NULL&#xff0c;指定了对话框资源所在DLL进程。如果没有指定该参数&#xff0c;在创建对话框&#xff08;DoModal或Create&#xff…

竞赛保研 基于RSSI的室内wifi定位系统

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; wifi室内定位系统 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;…

ip addr和ifconfig

ip addr可以显示更多信息&#xff0c;包括为启动的网络驱动如wlan&#xff0c;而ifocnfig只显示在线的驱动。若wlan是down的&#xff0c;则ip addr会显示信息&#xff0c;ifconfig不会显示信息。 ip addr: ifconfig:

网络通信协议

WebSocket通信 WebSocket是一种基于TCP的网络通信协议&#xff0c;提供了浏览器和服务器之间的全双工通信&#xff08;full-duplex&#xff09;能力。在WebSocket API中&#xff0c;浏览器和服务器只需要完成一次握手&#xff0c;两者之间就直接可以创建持久性的连接&#xff…