git的进阶使用

server/2025/3/29 21:15:15/

一.协作冲突

        举个简单的例子,公司里两个人(A,B)同一天上班,都拉取了远程仓库数据。然后A做完了所有的工作,进行了x文件的修改并提交至远程仓库。而B在做自己工作的时候不小心或者需要修改x文件,B认为A没有操作x文件直接push没有问题。

        但是程序会报错,提醒B将远程仓库的内容pull,pull后x文件包含了A和B的修改,需要两个人联系如何整合代码,整合后再push进远程仓库。

步骤就是:push 失败 — pull — 整合代码 — push

# git给出的提示print("hello")
<<<<<<<<<< HEAD
print("A的修改")
= = = = =
print("B的修改")
>>>>>>>>>> # 一大串字符

        上面 HEAD 后的就是起冲突的部分,= = = 前面的是第一个人的修改,后面的是第二个人的修改,只需要整合这两部分的代码就好。

 

二.git对仓库分支的操作

这里讲的是本地创建分支并提交到远程仓库,实际上在远程仓库上创建再下载到本地也是可以的。

        还是一样的配方:open git bash here

2.1 查看分支

输入 git branch 

        你会看到默认分支即主分支叫 master ,后续创建的所有分支都可以通过这个命令查看。

2.2 创建分支

输入 git branch ‘分支名’

2.3 进入分支

输入 git checkout '分支名'

        就可以切换到你所需要的分支进行编写代码,一般一个分支做一个任务的功能,然后分别提交分支到远程仓库。所有上传到远程的分支一般由项目经理下载到本地并将所有分支合并到主分支再同步。

同时 git checkout -b '分支名' 

        会寻找分支若没有就创建再进入该分支。

注意:此时git pull 或者clone只能拉下主分支的东西,除非分支合并到主分支并上传到远程仓库

2.4 删除分支

git branch -d ‘分支名’

        必须先退出当前指令所在的分支,否则删除不了。

2.5 提交分支

git push origin ‘分支名’

        执行完本地仓库的添加后,这个指令会将这个分支的内容传进远程仓库,且所有内容都在这个分支中,master分支是没有的。

2.6 合并分支

首先 git checkout  master 回到主分支

然后 git merge '分支名'

        就会将分支合并到主分支中,经过项目经理审查后没有问题就push进远程仓库。

提示:其实一般写代码都是在vscode等代码编辑器进行的,里面的操作更简单,不需要这些指令,不过需要自行熟悉。但请记住,在编程软件仓库源代码选项中,慎用键盘,按到control+z会直接回退版本,而且找不到。

三.版本回退(慎用)

        这种情况一般出现在一个时间段内编写的程序有极大的问题才会使用,去找到上一个时间段或者其他以前的时间段的版本,然后回退。因为回退版本是很大的事,就好像花了很多资源培养一个二游角色,最后回退直接清空进度。

3.1 查看往期版本

两种指令可以查看,显示效果不一样,主要是为了得到每个版本的id号
语法1: git log

这个显示的更简单
语法2: git log --pretty=oneline

根据你的commit内容来查找版本

3.2 回退

git reset --hard  ‘得到的id号’

        就可以回退到自定义的版本了。

3.3 回到现版本

那我要是找半天还不如在现在的版本上修改呢?

查看历史操作,然后得到对应所有版本的id:
git reflog

回退到你想去的版本
git reset --hard  ‘上一步得到的id号’

四.git忽略文件

        本地中会需要各种第三方库或数据,上传到远程仓库会占用容量,只需要列一份清单告知他人运行这段程序需要下载一些东西,这就是忽略文件的意义:会不上传某些数据文件。

        在你的仓库文件夹中创建这个文件 .gitignore ,其实很好记就.git + ignore,在其中编写数据的路径就可以不让这些数据上传,比如 /test/1.png   *.jpg(所有这类文件都忽略)    /test/。   


http://www.ppmy.cn/server/179148.html

相关文章

Webview详解(上)

第一阶段&#xff1a;基础入门 WebView基础概念 什么是Webview&#xff1f; WebView是一种用于在移动应用程序中展示网页内容的嵌入式浏览器组件。它允许开发者将网页内容直接加载到应用界面中&#xff0c;用户无需离开应用即可浏览网页。WebView 通常用于加载 HTML、CSS、J…

【大模型算法工程】大模型应用工具化、忠诚度以及知识库场景下PDF双栏解析问题的讨论

1. 大模型时代应用工具化以及无忠诚度现象讨论 接触大模型久了&#xff0c;也慢慢探到一些大模型能力表现非常自然和突出的场景&#xff0c;比如AI搜索&#xff08;依赖大模型的理解总结能力&#xff09;、AI对话&#xff08;即chat&#xff0c;依赖大模型的生成能力&#xff0…

深入解析 Service Worker 在 Chrome 扩展中的应用

1. 什么是 Service Worker&#xff1f; Service Worker 是一种运行在后台的 JavaScript 线程&#xff0c;与网页主线程独立。它的主要作用是拦截网络请求、缓存资源、提供离线支持&#xff0c;并执行后台任务&#xff0c;如推送通知和后台同步。在 Chrome 扩展&#xff08;Ext…

leetcode-45.跳跃游戏II

题很简单&#xff0c;怎么少点写代码比较困难。 这题很明显贪心算法&#xff0c;每次跳跃我们都希望理论上能到达的地方更远。一开始站在初始点&#xff0c;那么可选范围就是0到nums[0]&#xff0c;在这里面找能跳得最远的点i&#xff0c;接下来遍历nums[0]1到 inums[i]&#x…

CityEngine:3D城市建模专家

今天为大家介绍的软件是CityEngine&#xff1a;3D城市建模专家, 这款建模软件也是ESRI的产品. 下面我们将从软件的主要功能、支持的系统、软件官网等方面对其进行简单的介绍。 CityEngine的官网网址为https://www.esri.com/zh-cn/arcgis/products/arcgis-cityengine/overview。…

Flink 自定义数据源:从理论到实践的全方位指南

目录 第一章:自定义数据源的基础概念 数据源是什么?它在 Flink 中扮演什么角色? Flink 的内置数据源:开箱即用的 “标配” 为什么需要自定义数据源?它的杀手锏在哪? 第二章:自定义数据源的实现之道 接口选择:从简单到高级,选对工具事半功倍 SourceFunction:入门…

当今前沿科技:改变世界的最新技术趋势

人工智能AI&#xff09;在医疗影像诊断中越来越重要。它帮助医生分析影像&#xff0c;提高了诊断的准确性和效率。传统的方法依赖于医生的经验&#xff0c;可能会出现误诊或漏诊。AI能快速处理大量影像数据&#xff0c;减少这些问题。 AI通过深度学习和图像识别技术&#xff0…

a-date-picker 格式化日期格式 YYYY-MM-DD HH:mm:ss

<template><a-range-pickerv-model:value"dateRange":show-time"{ format: HH:mm:ss, // 时间部分格式defaultValue: [moment(00:00:00, HH:mm:ss), moment(23:59:59, HH:mm:ss)] // 默认时间范围}"format"YYYY-MM-DD HH:mm:ss" // 整体…