【Git】基础操作

news2024/10/25 4:20:57

初识Git

  1. 版本控制的方式:

    • 集中式版本控制工具:版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代码,是必须联网才能工作,局域网或者互联网。个人修改之后要提交到中央版本库

      例如:SVM和CVS

    • 分布式版本控制工具:分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,不需要联网了,因为版本库就在你的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了

      例如:Git

  2. Git的工作流程图

    在这里插入图片描述

    命令如下:

    • clone(克隆):从远程仓库中克隆代码到本地仓库
    • checkout(检查):从本地仓库中检出一个仓库分支然后进行修订
    • add(添加):在提交前将代码提交到暂存区
    • commit(提交):提交到本地仓库。本地仓库中保存修改的各个历史版本
    • fetch(抓取):从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少
    • pull(拉取):从远程库拉到本地库,自动进行合并(merge),然后放到工作区,相当于fetch+merge
    • push(推送):修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库

Git的常用命令

创建版本库

  1. 创建一个空目录

    • cd:打开你所要打开的系统盘

      cd F:
      
    • 创建一个空的目录:hhh

      makdir hhh
      
    • 显示当前目录

      pwd
      
  2. 初始化仓库

    使用git init命令把这个目录变成git可以管理的目录

    git init
    

基础操作指令

    • 创建一个text.txt文件

      touch text.txt
      
    • 添加文件到暂存区

      git add text.txt
      git add . -> 将所有修改过的文件添加到暂存区,使用这个命令可以批量添加所有已修改文件的更改
      
    • 添加文件到仓库

      git commit -m"对于本次提交的说明"
      
    • 修改文件

      vi text.txt
      

      输入此操作,会进入文件内容中,按下i:使用插入方法对文章进行修改

      退出时先按ESC,再同时按:ESC + shift + z + z

    • 查看修改内容(每次修改之后都要重新提交)

      git diff text.txt
      
    • git add了一个文件,但要将此文件删除

      rm text.txt
      
    • 查看历史提交记录

      git log
      git relog -> 可以看到已删除的提交记录
      

      后面加上后缀

      –all:显示所有分支

      –pretty=oneline:将提交信息显示为一行

      –abbrev-commit:使得输出的commit更简短

      –graph:以图的形式显示

    • 回退到上一个版本:第一种是:git reset --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset --hard HEAD~100 即可

      git reset --hard HEAD^
      git reset --hard HEAD^^
      git reset --hard HEAD~100 
      

分支

几乎所有的版本控制系统都以某种形式支持分支,使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的Bug修改、开发新的功能,以免影响开发主线

  1. 查看本地分支
git branch
  1. 创建本地分支
git branch 分支名
  1. 切换分支
git checkout 分支名

直接创建并切换

git checkout -b 分支名
  1. 合并分支:一个分支上的提交可以合并到另一个分支(将分支名中的提交记录记录到当前分支上)
git merge 分支名称
  1. 删除分支:不能删除当前分支,只能删除其他分支
git branch -d b1 -> 删除分支时,需要做各种检查
git branch -D b1 -> 不做任何检查,直接删除
  1. 解决冲突
    当多个分支上同时对同一个文件的同一位置进行修改,就需要手动解决冲突
  • 处理文件的冲突地方
  • 将解决完冲突的文件加入暂存区(add)
  • 提交给仓库(commit)
    在这里插入图片描述
  1. 开发中分支的使用原则与流程
    • master(产生)分支:线上分支,主分支,中小规模项目作为线上运行的应用对应的分支
    • develop(开发)分支:是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线要求,都可以在此版本进行开发,阶段开发完成后,需要的是合并master分支上,准备上线
    • feature分支:从develop创建的分支,一般是同期并行开发,不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支
    • hotfix分支:从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、develop分支
    • test分支:用于代码测试
    • pre分支:预上线分支
      在这里插入图片描述

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

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

相关文章

无忧易售新功能:集成图片库智能图片翻译,跨越语言障碍

在电商全球化的浪潮中,跨越语言的障碍,让产品图像说话,成为了商家致胜的关键。"无忧易售ERP"推出集成图片库与图片翻译功能的全新升级,为全球电商提供一站式解决方案,让商品跨越国界,沟通无界。 …

Gartner发布2024年人工智能技术成熟度曲线:29项决定人工智能领域发展方向的前沿和趋势性技术

人工智能投资已达到新高,重点是生成式人工智能,但在大多数情况下,该技术尚未实现预期的商业价值。这项研究通过分析各种人工智能创新(其中许多创新正在快速发展),帮助人工智能领导者确定其他值得投资的技术…

1台UG图形工作站实现5-7人共享使用

随着计算机辅助设计(CAD)和计算机辅助制造(CAM)技术的不断发展,UG图形工作站已成为许多行业不可或缺的重要工具。 对于许多中小型企业而言,购买多台高性能的UG图形工作站无疑是一笔巨大的开销,…

SolidWorks上海官方代理商亿达四方:赋能智能制造,创设计新高度

在上海这片充满活力的热土上,亿达四方作为SolidWorks的正版授权代理商,正以其专业的技术力量和周到的服务体系,为当地制造业的转型升级注入强大动力。我们专注于提供原装正版的SolidWorks系列软件,以及全方位的技术支持与解决方案…

Mac OS 安装frida

安装frida和frida-tools Python是基础,提前装好Python 终端执行 python3 -m pip install frida 如果出现error 按照提示处理 信息提示:brew install pipx 于是终端执行: brew install pipx 安装frida: pipx install frida…

Web3 学习

之前学习 web3,走了不少弯路,最近看到了 hackquest,重新刷了一遍以太坊基础,感觉非常nice,而且完全免费,有需要的可以试试,链接hackquest.io。

数据链路层【Linux网络复习版】

目录 一、数据链路层主要解决的是什么问题? 二、什么是以太网? 三、什么是MAC地址? 四、以太网帧的格式是什么? 五、 什么是MTU? 六、MTU和分片 MTU对IP协议的影响? 如何分片? 如何组装&a…

有什么值得推荐的文件外发权限管理软件?

你的身边有这种事情发生吗? 一些工作人员在传达文件、部署工作时,为贪图方便,直接将涉密文件、涉密工作通过微信群传达部署,造成了大量泄密案件发生。 有些责任人员为了工作方便,对涉密文件进行拍照,通过…

卡巴斯基安全卡片

卡巴斯基委托我们制作展示各种安全场景的插图卡片,这些卡片用于在欧洲委员会支持下开发的互动在线培训课程。我们的设计师为这个项目创造了一种独特的风格,既美观又实用。卡片展示了可能出现的潜在危险情况,例如在购物中心、公交车站或办公室…

【计算机网络篇】数据链路层(6)共享式以太网_网络适配器_MAC地址

文章目录 🍔网络适配器🍔MAC地址🗒️IEEE 802局域网的MAC地址格式📒IEEE 802局域网的MAC地址发送顺序🥚单播MAC地址🥚广播MAC地址🥚多播MAC地址🔎小结 🍔网络适配器 要将…

【产品面对面】deepin V23 RC 新体验,文件管理器全面升级!

内容来源:deepin(深度)社区 在日复一日的数据海洋遨游中,是否曾因文件杂乱无章而苦恼?是否渴望过有一种魔法,能让文件瞬间归位,触手可及? 今天,我们带着全新的文件管理工…

oracle 数据库导入dmp文件

荆轲刺秦王 从线上正式环境导出的 dmp 文件,导入到本地 oracle 数据库。 1. 创建用户: CREATE USER hf_chip IDENTIFIED BY hf_chip; 2. 授予 CONNECT 和 RESOURCE 基本权限给新用户。 GRANT CONNECT, RESOURCE TO hf_chip; 3. 创建表空间 CREATE TABLESPACE…

海外仓系统能解决海外仓哪些难题?海外仓标准化管理实用指南

海外仓管理问题常常导致业务流程变慢,根据我们的调查显示,至少有48%的海外仓每周都会出现一些“小意外”。甚至这些小问题每天都在发生,问题的出现已经严重影响到了海外仓业务的进行。今天我们将重点分析海外仓比较常见的一些问题&#xff0c…

工程施工安全检测嵌入式解决方案

工程施工安全检测嵌入式解决方案 1 范围1.1 引言1.2 系统概述1.3 文档概述 2 工程施工安全检测系统应用场景2.1 作业操作安全检查2.2 受限空间作业安全检测2.3 应急设备操作行为检测2.4 动火作业安全检测 3 工程施工安全检测系统设计方案概述3.1 AI识别系统3.2 AI关键技术介绍3…

中国最全的hive sql 函数集合(持续更新)

#6/20/24 增加greatest函数: select greatest(1,2,3,4,5,2) 结论:可以用hive presto spark得出正确的结果值 #6/20/24 增加last_value(cl1) ignore nulls over(order by ts ) as dt 函数: 有数据集: 1 1 1 2 2   3 3 …

实际二分搜索(写出函数,再用二分搜索法找左右边界 画图理解

实际二分搜索(写出函数,再用二分搜索法找左右边界 看到最大值的最小化,左边界,最小化的最大值,右边界 画图理解 爱吃香蕉的珂珂 class Solution {public int minEatingSpeed(int[] piles, int h) {int left1,right10…

Linux - 输入输出

一、输出格式 echo //末尾自带换行 -n //取消自带换行 -e //支持转移符 常见转义符 \n换行 \t制表符 printf // 格式化输出字符串 %-10s // %s代表字符串 -10 左对齐容纳10个字符 二、输入输出重定向 file descriptors &#x…

欧洲杯背后的CDN

随着欧洲杯在德国的顺利举行,上亿中国网友为了观看比赛熬了十几个不眠之夜,欢呼呐喊。他们或守在电视机前,或拿着手机、平板,公交车上地铁里也都是拿着手机看比赛视频的人。不仅各个互联网视频平台流量激增,就连运营商…

el-upload组件校验不通过预览列表依然显示图片问题解决

如图校验不通过的图片依然显示在预览列表了&#xff0c;需要在校验不通过的时候移除图片 <el-uploadclass"upload-cls":action"ossSignature.host":auto-upload"false"ref"upload":list-type"listType":limit"limi…

【C++】函数模版和类模版详解

探索C中的函数模版和类模版 一、函数模版&#xff08;Function Templates&#xff09;二、类模版&#xff08;Class Templates&#xff09;三、总结 在C编程中&#xff0c;模版&#xff08;Templates&#xff09;是一种强大的工具&#xff0c;允许程序员编写通用的代码&#xf…