git代码管理学习文档

news2024/9/21 16:45:57

       

1.版本控制

每一版本都会发生变化

更新版本,回退版本

版本控制实际就是控制文件的变化

服务器端和每个人的电脑上都会记录版本的变化,也就是说整个团队都记录了版本的变化。

不需要连网,他是分布式的,在自己电脑上也可以操作。


2.安装和使用Git

查看git软件是否安装:在git命令行(打开方式->进入项目根目录->右键->git bash here)下执行

git –version

(单击右键,查看是否有gitbash命令)

  • 配置用户信息 用户名 电子邮箱(第一次使用的时候配置)

配置用户名称和电子邮箱地址,以在commit log中体现->表明这个文档这个项目是谁来做的。  

修改:重新运行该命令

git config —global user.name ‘teduweb’

git config —global user.email  ‘web@tedu.com’

  • 查看已有的git配置信息

git config --list

  • 进入项目文件夹,初始化git仓库(用来存储各个版本)

git init 会生成一个.git目录(隐藏的),用于记录所有的版本

  • 查看当前工作目录的状态

git status

  • 往暂存区中添加文件

git add 文件名称  添加个别文件

git add . 添加所有文件到暂存区

  • 把暂存区文件添加到本地仓库

git commit -m ‘提交的说明’

如果项目中发生修改,再执行git.status

再次执行,git add.  git commit  -m 添加了新的版本 

  • 查看提交的日志(记录提交多少次)

git log   查看当前版本以及当前版本以前的版本提交记录

git reflog  查看所有提交记录

  • 从本地仓库中回退到指定的版本(到工作目录中)

git  reset  --hard 提交的ID HEAD表示当前的版本

ID是一种编码的

  • 屏幕清除

clear

  • 忽略文件(不需要提交到本地仓库的文件可以忽略)

在工作目录下 使用编辑器创建  .gitignore文件(记录哪些文件不需要提交)

把不需要提交的文件或目录(结尾加/表示目录下的所有文件)添加到.gitignore中,就不再往git仓库提交,可以执行git.status查看是否要提交该文件,一般情况下,node_modules不需要提交到git仓库。

当 git add . 往暂存区添加文件,可以看到忽略该warning,这是由于虽然windows系统下操作,但是要按照linux系统标准来执行造成的。$ git commit -m‘添加了包说明文件’ 添加到本地仓库,即又一个版本。

  • 分支操作

如果想在主分支的基础上建立其他分支,必须把主分支先传入暂存区(git add .),再传入本地仓库(git  commit -m ‘第一次提交’ )。

git branch 查看当前所有分支

git branch  分支名称   创建一个新的分支,把当前所有的分支拷贝,作为一个副本。

git checkout  分支名称  切换分支

例如:

创建文件product.html商品模块

文件要提交到商品分支本地仓库(前提要切换到该分支下查看)

$git checkout product $git add . $git commit -m ‘商品模块开发完毕’

回到主分支下,工作目录里就看不见该文件,Product.html在商品分支下

  • 创建用户分支

1.先创建分支,再切换到该分支下

2.工作目录里创建html文件

3.分支下操作完看状态

4.提交分支

$git add .

$git commit -m ‘用户模块开发完毕’

5.查看

6.回到主分支下

git merge 分支名称    在当前分支基础之上,将另一个分支并入进来 

git branch -d 分支名称  删除已经合并的分支

git branch  -D 分支名称  强制删除分支,分支没有合并


3.远程仓库

Github全球最大的代码托管平台

网址:www.github.com

码云 国内最大的代码托管平台

网址:www.gitee.com

介绍:git的廉价平替 服务器在国内,运行不废劲,在国内也形成了一定的规模,git的一些项目插件在码云上可以找的到

(1) 使用gitHub  花钱不公开

注册

登录

先创建仓库

远程仓库地址:https://github.com/huwenhao006/mytedu.git

回到本地工作目录打开gitbash,推送项目到giHub

git  push -u  远程仓库地址   分支名称       推送到远程地址

上传完成

团队协作:添加团队成员

邀请的用户登录个人邮箱,然后邮箱确认,就可以共同管理项目

(2)使用gitee     操作和gitHub一样,花钱不公开

注册

登录

新建仓库

填写仓库信息,私有依然收费

获取地址

git  push -u  远程仓库地址   分支名称       推送到远程地址

输入用户名和密码

推送成功

如果验证密码写错,第二次推送是已经记录过的,还是推送不过去,怎么去改?

Window+R->control打开控制面板->用户账户,凭据管理器->windows凭据->普通凭证->删除


4. 团队协同

团队协作:添加团队成员

邀请的人登录码云,会看到私信里通知被邀请,接受邀请就能进入团队。

被邀请的人加入团队后:

1,本地新建目录,右击gitbash打开命令行

git clone  远程仓库地址   第一次下载下来

git pull   远程仓库地址   从远程仓库拉取代码(其他时候需要远程仓库代码)

其他人也可以克隆,但是没有上传权限,团队成员可以上传

2.克隆下来以后,被邀请的人就能在项目的基础上进行开发,然后利用团队成员的权限  进行上传。

3. 远程仓库和本地代码同步(配置公钥)

1.仓库与本地同步->建立公钥

为什么要建立公钥->公钥是你当前设备和网络仓库的通路

只要创建了这条通路,才能实现仓库和本地代码同步

2.把仓库同步到本地

  • 1.在gitee上新建仓库,进入需要同步的仓库,点击克隆
  • 2.点击复制ssh地址
  • 3.到需要同步网络仓库的本地位置,打开gitBashhere
  • 4.输入命令 git clone[复制的ssh地址]

3.在本地仓库中创建vue脚手架项目

  • 1.到本地仓库所在的文件夹中创建 vue  create xxxx
  • 2.项目名称尽量和仓库名称保持一致(仓库名称不要有大写字母)

因为会提示:创建的项目文件夹已经存在,选择merge(合并)

4.把本地仓库中的项目同步到远程仓库gitee上

在本地项目中打开gitbush

gitstatus 看变化(不必要的操作)

gitadd . 把本地仓库变化的文件提交到暂存区

gitcommit -m ‘提交说明’ 提交本地仓库

注释:提交说明写明所写代码的用处

gitpush 把缓存中的内容推到网络仓库中

 5.git分支操作步骤

一、拉取IMDP_V100R001C00分支

1、新建一个目录,例如 d:/work/spms3.0/IMDP_V100R001C00,用于330版本修改bug

2、在这个目录下运行git bash

2.1 首先fork自己的私库:

git clone

如:git clone http://10.88.40.177:8099/306205/spms-integration-core.git

2.2 然后增加主库的信息:

cd

如:cd spms-integration-core

git remote add

如:git remote add upstream  http://10.88.40.177:8099/spms-integration/spms-integration-core.git

2.3 然后拉取主库的分支:

git fetch

如:git fetch upstream

git checkout -b /

如:git checkout -b IMDP_V100R001C00 upstream/IMDP_V100R001C00

2.4然后上传到私库

git push origin

如:git push originIMDP_V100R001C00

这样私库中就会有这个分支了。之后330的bug修复就在这个目录下进行。

二、拉取dev分支

1、新建一个目录,例如d:/work/spms3.0/dev,用于dev分支的开发。

2、在这个目录下运行git bash

2.1 首先fork自己的私库:

git clone

如:git clone http://10.88.40.177:8099/306205/spms-integration-core.git

2.2 然后增加主库的信息:

cd

如:cdspms-integration-core

git remote add

如:git remote add upstream http://10.88.40.177:8099/spms-integration/spms-integration-core.git

2.3 然后拉取主库的分支:

git fetch

如:git fetchupstream

git checkout -b /

如:git checkout -bdev upstream/dev

2.4然后上传到私库

git push origin

如:git push origin dev

这样私库中就会有这个分支了。之后dev的开发就在这个目录下进行。

三、代码提交、推送和合并请求

代码提交和推送,都要按照当前分支进行,即:   IMDP_V100R001C00分支只允许提交和推送到私库的IMDP_V100R001C00分支      dev分支只允许提交和推送到私库的dev分支

提交合并请求(merge request,MR)时,也要注意,私库的IMDP_V100R001C00分支只允许合并到主库的IMDP_V100R001C00分支,私库的dev分支只允许合并到dev分支。

主库各个项目的负责人(maintainer)要负责首先审核是否对应同样的分支,如果不对应则直接拒绝;然后再检视代码。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Easy Excel生成复杂下Excel模板(下拉框)给用户下载

引言 文件的下载是一个非常常见的功能,也有一些非常好的框架可以使用,这里我们就介绍一种比较常见的场景,下载Excel模版,导入功能通常会配有一个模版下载的功能,根据下载的模版,填充数据然后再上传。 需求…

【MATLAB第82期】基于MATLAB的季节性差分自回归滑动平均模型SARIMA时间序列预测模型含预测未来

【MATLAB第82期】基于MATLAB的季节性差分自回归滑动平均模型SARIMA时间序列预测模型含预测未来 一、模型介绍 1、模型简介 季节性差分自回归移动平均模型(Seasonal Autoregressive Integrated Moving Average Model, SARIMA),又称为周期性…

指针进阶篇

指针的基本概念: 指针是一个变量,对应内存中唯一的一个地址指针在32位平台下的大小是4字节,在64位平台下是8字节指针是有类型的,指针类型决定该指针的步长,即走一步是多长指针运算:指针-指针表示的是两个指…

SQL注入学习(配合SQLi-lab靶场)

前提条件: 在进行sql注入时,首先要确定网页有注入点,一般在URL地址栏中,或者含有输入框的地方会有 SQL注入步骤: 1、判断注入类型 首先判断是什么类型的注入,用id1 and 11 和id1 and 12 判断是数字类型注…

Redis设计与实现之整数集合

目录 一、内存映射数据结构 二、整数集合 1、整数集合的应用 2、数据结构和主要操作 3、intset运行实例 创建新intset 添加新元素到 intset 添加新元素到 intset(不需要升级) 添加新元素到 intset (需要升级) 4、升级 升级实例 5、关于升级 …

25.Java程序设计-基于SSM框架的微信小程序校园求职系统的设计与实现

1. 引言 1.1 背景 介绍校园求职系统的背景,说明为什么设计这个系统以及系统的重要性。 1.2 研究目的 阐述设计基于SSM框架的微信小程序校园求职系统的目标和意义。 2. 需求分析 2.1 行业背景 分析校园求职行业的特点和需求,以及目前市场上同类系统…

Spring Boot SOAP Web 服务端和客户端

一. 服务端 1. 技术栈 JDK 1.8,Eclipse,Maven – 开发环境SpringBoot – 基础应用程序框架wsdl4j – 为我们的服务发布 WSDLSOAP-UI – 用于测试我们的服务JAXB maven 插件 – 用于代码生成 2.创建 Spring Boot 项目 添加 Wsdl4j 依赖关系 编辑pom…

化学方程式小程序

brief introduction 相信大家上中学时都会被化学方程式折腾得死去活来,尤其是配平,怎么也算不对数字。于是我写出了这款近200行的自动配平程序,这是不是你们黑暗化学中的一丝光亮呢? usage 正常化学式输入,每一种物…

智慧农业大数据可视化UI,数据展示平台(免费可视化大屏模版PS资料)

大屏幕展示方式可以实现信息的直观呈现与交互操作,使农业生产者能够一目了然地掌握有关农情、天气、土壤等数据信息,从而科学决策。智慧农业大数据可视化大屏是提升农业生产效益的一种重要工具。 现分享亩产效益指标、农业大数据可视化、农业数据展示平…

基于EasyExcel的数据导入导出

前言: 代码复制粘贴即可用,主要包含的功能有Excel模板下载、基于Excel数据导入、Excel数据导出。 根据实际情况修改一些细节即可,最后有结果展示,可以先看下结果,是否是您想要的。 台上一分钟,台下60秒&a…

QT Widget - 随便画个圆

简介 实现在界面中画一个圆, 其实目的是想画一个LED效果的圆。代码 #include <QApplication> #include <QWidget> #include <QPainter> #include <QColor> #include <QPen>class LEDWidget : public QWidget { public:LEDWidget(QWidget *pare…

前端传递参数,后端如何接收

目录 简单参数 传递方式 获取方式一 获取方式二 相关注解 实体参数 数组集合参数 传递方式 相关注解 获取方式一 获取方式二 日期参数 传递方式 相关注解 获取方式 json参数 传递方式 相关注解 获取方式 路径参数 传递方式 相关注解 获取方式 传递多个…

【Java系列】详解多线程(三)—— 线程安全(上篇)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】【JaveEE学习专栏】 本专栏旨在分享学习Java的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 一…

心理测试网站源码,知己心理React心理健康测试

源码介绍 React心理健康测试网站源码&#xff0c;帮助需要的人更好地了解自已的心理健康状态和人格特征。 React可以在Vite中启用HMR&#xff0c;并且包含了几人EsLint规则。只需要使用react antd-mobile即可 轻松部署完成。

【JAVA日志框架】JUL,JDK原生日志框架详解。

前言 Java日志体系混乱&#xff1f;Java日志框架系列&#xff0c;清晰简洁整理好整个Java的日志框架体系。第一篇&#xff0c;JDK原生日志框架——JUL。 目录 1.概述 2.日志级别 3.配置 4.继承关系 1.概述 日志框架的核心问题&#xff1a; 日志是用来记录应用的一些运行…

C++ Qt开发:Tab与Tree组件实现分页菜单

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍tabWidget选择夹组件与TreeWidget树形选择组件…

Swift 响应式编程:简化 KVO 观察与 UI 事件处理 | 开源日报 No.110

ReactiveX/RxSwift Stars: 23.8k License: MIT RxSwift 是 Reactive Extensions 标准的 Swift 特定实现&#xff0c;它提供了 Observable 接口来表达计算的通用抽象。该项目旨在为 Rx API 提供真正以 Swift 为先的 API&#xff0c;并允许轻松地组合异步操作和数据流。其主要功…

K8s投射数据卷

目录 一.Secret 1.secret介绍 2.secret的类型 3.创建secret 4.使用secret 环境变量的形式 volume数据卷挂载 二ConfigMap 1.创建ConfigMap的方式 2.使用ConfigMap 2.1作为volume挂载使用 2.2.作为环境变量 三.Downward API 1.以环境变量的方式实现 2.Volume挂载 一.S…

Linux 中使用 docker 安装 Elasticsearch 及 Kibana

Linux 中使用 docker 安装 Elasticsearch 及 Kibana 安装 Elasticsearch 和 Kibana安装分词插件 ik_smart 安装 Elasticsearch 和 Kibana 查看当前运行的镜像及本地已经下载的镜像&#xff0c;确认之前没有安装过 ES 和 Kibana 镜像 docker ps docker images从远程镜像仓库拉…

HarmonyOS后台代理提醒

后台代理提醒 简介 随着生活节奏的加快&#xff0c;我们有时会忘记一些重要的事情或日子&#xff0c;所以提醒功能必不可少。应用可能需要在指定的时刻&#xff0c;向用户发送一些业务提醒通知。例如购物类应用&#xff0c;希望在指定时间点提醒用户有优惠活动。为满足此类业…