Git 使用教程

  • 一、Git的认识

  • 1.1版本控制

什么是“版本控制”?我为什么要关心它呢?

版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

a) 还原:如果你是程序开发者,在新写一个促销活动的java文件,两天后,项目经理说由于疫情原因促销活动取消了,让你还原到两天前的代码,如果没有版本控制.....,凉凉........。

如果有版本控制,可以轻松恢复到原先的样子, 额外增加的工作量也微乎其微。

b) 协作:支持多个开发并行开发,同时leader有利于review每个人每次提交历史与代码质量。

1.2常用的版本控制软件

SVN :

Subversion(SVN) 是一个开源的版本控制系統,  Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

Git :

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

区别:

1.3Git 安装

ubuntu : apt install git

centos:yum install git

官网:https://git-scm.com/book/zh/v2/

Git - Downloads

1.4课堂问答

  1. Git的作用
  2. Git 与 SVN 区别点

二、创建本地版本库

1.git  --help  查看常用命令

开始一个工作区

   clone      克隆仓库到一个新目录

   init        创建一个新的 Git 仓库

在当前变更上工作

   add        添加文件内容至索引

   mv         移动或重命名一个文件、目录或符号链接

   reset       重置当前 HEAD 到指定状态

   rm         从工作区和索引中删除文件

检查历史和状态

   bisect     通过二分查找定位引入 bug 的提交

   grep       输出和模式匹配的行

   log        显示提交日志

   show      显示各种类型的对象

   status     显示工作区状态

扩展、标记和调校您的历史记录

   branch     列出、创建或删除分支

   checkout   切换分支或恢复工作区文件

   commit     记录变更到仓库

   diff         显示提交之间、提交和工作区之间等的差异

   merge      合并两个或更多开发历史

   rebase      在另一个分支上重新应用提交

   tag          创建、列出、删除或校验一个 GPG 签名的标签对象

协同

   fetch      从另外一个仓库下载对象和引用

   pull       获取并整合另外的仓库或一个本地分支

   push       更新远程引用和相关的对象

2.git init

创建一个新的Git仓库

3.git add <fileName>

   添加文件内容至索引库

4.git status

   查看仓库状态

5.git commit -m "解释说明"

     提交⽂件到仓库

6.git log

  查看提交日志

7.git branch

   查看本地分支

8.git branch V2

   创建名称为"V2" 的分支。

9.git branch -d V2

   删除名称为"V2"的分支

10. git checkout V2

切换到V2分支

11. git merge V2

合并分支V2 到当前分支

12. git checkout -- fileName

丢弃⼯作区的修改, git checkout -- 4.txt

13. git reset HEAD 4.txt

删除已经提交到缓存区的修改,之后返回到⼯作区

14.git rm 1.txt

删除指定文件

15 打tag

参看标签:git tag

新增 tag:git tag -a 20220427 -m "促销1.0"

删除标签:git tag -d 20220427

查看具体信息: git show 20220427

16 通过tag 创建分支

git branch <分支名称>  <tag名>

git branch 20220427-fix1 20220427

三、关联远程Git仓库

1. 生成ssh公钥

https://git-scm.com/book/zh/v2/

2.git remote add origin <仓库地址>

git remote add origin https://gitee.com/beiyou123/project01.git

关联远程仓库

3. git push -u origin master:master

将本地分支master推送到远程master分支

4.git pull origin master

   拉取远程分支master到本地

5.git branch -r/a

    查看远程分支/所有分支

6. git clone git@github.com:pkgcenter/java02.git

    克隆远程项目

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

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

相关文章

Linux常见基本指令

本文将详细的介绍Linux中各常见指令的用法&#xff0c;并且在每个指令都有使用样例。一共有以下指令&#xff1a; 1. man指令 2.目录基础指令&#xff1a;2.1 pwd指令、2.2 ls指令、2.3 cd指令 3.文件创建与删除&#xff1a;3.1 touch指令、3.2 mkdir指令、3.3 rmdir 指令 &…

Rabbitmq入门与应用(二)-RabbitMQ工作模型

RabbitMQ工作模型 RabbitMQ Tutorials — RabbitMQ Broker RabbitMQ服务。 Connection 生产者或是服务者都需要与Broker建立的TCP连接。 Channel 保持的TCP长连接里面去创建和释放Channel&#xff0c;从而减少资源的消耗。其中Channel是相互隔离的&#xff0c;不能共享。 Queu…

PHP如何利用post与get方式传值接收数据

目录 一、POST传值1. 使用curl库发送 POST 请求&#xff1a;2. 使用file_get_contents()函数发送 POST 请求&#xff1a;3. 使用stream_socket_client()函数发送 POST 请求&#xff1a;4. 利用from表单提交数据&#xff1a; 二、GET传值1. 使用http_build_query()函数构建 URL …

Java IO:同步阻塞和装饰器模式详解

前言 大家好&#xff0c;我是chowley&#xff0c;今天来介绍一下Java IO中的两个重要概念——同步阻塞和装饰器模式。 同步阻塞 在计算机编程中&#xff0c;同步阻塞&#xff08;Synchronous Blocking&#xff09;指的是在进行某个操作时&#xff0c;当前线程会被阻塞&#…

代码随想录算法训练营|day36

第八章 贪心算法 435.无重叠区间763.划分字母区间56.合并区间代码随想录文章详解总结 435.无重叠区间 对右边界升序排序&#xff0c;类似用最少数箭射爆气球&#xff0c;遍历区间&#xff0c;若当前区间与前一个区间不重合&#xff0c;更新区间边界end为当前区间右边界&#x…

【ansible】自动化运维ansible之playbook剧本编写与运行

目录 一、ansible剧本playbook的组成 二、palybook的基础应用: 实操1&#xff1a;通过palybooks完成nginx的安装 第一种&#xff1a;通过yum安装nginx 第二种&#xff1a;通过编译安装nginx 实操2&#xff1a;playbook定义、引用变量​​​​​​​ 实操3&#xff1a;通过…

有哪几种行为会导致服务器被入侵

导致服务器被入侵的行为有很多种&#xff0c;以下是一些常见的行为&#xff1a; 系统漏洞&#xff1a;服务器操作系统或软件存在漏洞&#xff0c;攻击者可以通过利用这些漏洞获取系统权限&#xff0c;从而入侵服务器。 弱口令&#xff1a;服务器的账号密码过于简单或者未及时更…

C#泛型及其应用:获取并显示员工信信息

目录 一、关于泛型 1.泛型定义 2.泛型与非泛型的区别 3.泛型的应用 &#xff08;1&#xff09;泛型类&#xff1a; &#xff08;2&#xff09;泛型方法&#xff1a; &#xff08;3&#xff09;泛型委托&#xff1a; &#xff08;4&#xff09;泛型接口&#xff1a; &a…

通过conda安装cudatoolikit和cudnn

通过conda安装cudatoolikit和cudnn 安装cudatoolkit安装cudnn安装cudatoolkit-dev 安装cudatoolkit conda install cudatoolkit11.3 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 安装cudnn conda install cudnn8.5 -c https://mirrors.tuna.tsinghua.edu.…

ECMAScript 6+ 新特性 ( 二 )

2.12. class类 ES6 提供了更接近传统语言的写法&#xff0c;引入了 Class&#xff08;类&#xff09;这个概念&#xff0c;作为对象的模板。通过 class 关键字&#xff0c;可以定义类。 ES6 的 class 可以看作只是一个语法糖&#xff0c;它的绝大部分功能ES5 都可以做到&…

五种多目标优化算法(MOGWO、MOJS、NSWOA、MOPSO、MOAHA)性能对比(提供MATLAB代码)

一、5种多目标优化算法简介 1.1MOGWO 1.2MOJS 1.3NSWOA 1.4MOPSO 1.5MOAHA 二、5种多目标优化算法性能对比 为了测试5种算法的性能将其求解9个多目标测试函数&#xff08;zdt1、zdt2 、zdt3、 zdt4、 zdt6 、Schaffer、 Kursawe 、Viennet2、 Viennet3&#xff09;&#xff0…

安装python开发包管理环境miniconda

Python 管理 —— Conda Python 环境管理的价值在于将同一个 Python 版本的不同需求分开&#xff0c;比如&#xff1a;项目 A 和 项目 B 都需要 Python 3.10.11 这个版本&#xff0c;都用到了 requests 包&#xff0c;但是项目 A 需要 requests 2.1&#xff0c;而项目 B 需要 …

RPA岗位介绍 - RPA业务分析师

岗位描述 RPA业务分析师是连接IT部门与业务部门的关键角色,他们的主要职责是与团队合作梳理、识别、分析和理解业务流程,识别潜在的自动化机会,并将其转化为机器人流程自动化(RPA)的解决方案。 岗位职责 与业务部门合作,采集、梳理和分析业务需求,识别适用于自动化改造…

JDBC实现增删改查

此篇文章的基础来自https://blog.csdn.net/weixin_39038328/article/details/136197311?spm1001.2014.3001.5501 一、 数据查询 public static void search() {try {Class.forName("com.mysql.jdbc.Driver"); // 1.加载驱动//2.建立连接Connection connection (C…

day 21 (重点程序 )

先整理程序 文件拷贝 1.fgetc/fputc 1 #include<stdio.h>2 int main(void)3 {4 FILE *fsrc NULL;5 FILE *fdst NULL;6 char ch 0;7 fsrc fopen("src.txt","r");8 if(NULL fsrc)9 {10 perror("fail to f…

leetcode1049:最后一块石头的重量二

解题思路&#xff1a; 把石头堆分割成差不多的两堆&#xff0c;使得两堆差值最小 dp数组的含义&#xff1a; dp[j]:背包容量为j的背包最大重量(价值)为dp[j] dp[j] max(dp[j],dp[j-stones[i]] stones[i]) 初始化&#xff1a;&#xff08;dp数组的大小根据题目进行定义&a…

vue2中vuex的各项的各种调用方式,部分对比vue3的pinia

首先vuex的实例化比较特别&#xff0c;通过 导入Vue和Vuex&#xff0c;先Vue.use(Vuex)再 new Vuex.store()的方式来实例化仓库&#xff0c; 模块则是通过创建modules文件夹&#xff0c;在新建的文件中export符合规范的对象&#xff0c;这样约定俗成的方式来创建&#xff0c…

网络安全--网鼎杯2018漏洞复现(二次注入)

一、环境&#xff1a;在线测试平台 BUUCTF在线评测 (buuoj.cn) 二、进入界面先尝试万能账号 1or11# 换格式 hais1bux1 11or11# 三、万能的不行那我们就得想注册了&#xff0c;去register.php去看看 注册个账号 发现用户名回显&#xff0c;猜测考点为用户名处二次注入&…

Java 那些诗一般的 数据类型 (1)

本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

【JavaScript 语法】

JavaScript 语法 ■ JavaScript 是什么■ JavaScript 语法■ JS 注释■ JS 结束符■ JS 输入输出语句■ JS 代码块■ JS 关键词■ JS 值■ JS 字面量 &#xff08;混合值&#xff09;■ JS 变量&#xff08;变量值&#xff09;■ JS 文本值 (字符串)■ JS 字符串可以是对象 ■ …