python特别篇—github基本操作手册
一、开始使用
1.1 “Hello world”
1.1.1 github介绍
GitHub是一个基于Git版本控制系统的代码托管平台。它提供了一个在线的代码仓库,使开发者可以将自己的代码存储在云端,并与其他开发者进行协作。GitHub不仅仅是一个代码托管平台,还提供了许多其他功能,如问题跟踪、项目管理、代码审查、持续集成等。开发者可以通过GitHub分享自己的开源项目,也可以在上面找到其他人的开源项目并参与贡献。
GitHub入门需要了解的操作:
- 创建和使用存储库
- 启动和管理新分支
- 对文件进行更改并将其作为提交推送到 GitHub
- 打开并合并拉取请求
1.1.2 创建存储库
存储库通常用于组织单个项目。存储库可以包含文件夹和文件、图像、视频、电子表格和数据集 - 您的项目需要的任何内容。通常,存储库包括一个自述文件,一个包含有关项目信息的文件。
点击主页上的“+”号:
- 选择New repository表示创建一个新的仓库。
- 选择“Import repository”表示引入一个外部版本控制系统中的代码库完整地迁移到GitHub上,并保留其完整的历史记录。
1.1.3 创建分支
GitHub的分支是用于在项目中独立开发和管理不同功能或修复的副本。它允许团队成员在不影响主分支(通常是master
分支)的情况下并行工作,并在完成后将更改合并回主分支。
以下是关于GitHub分支的一些重要概念和操作:
-
主分支(
master
分支):主分支是项目的默认分支,通常用于发布稳定的版本。在主分支上进行的更改会直接影响项目的稳定性。 -
创建分支:您可以通过在项目页面上点击 "Branch: master" 按钮并输入新分支的名称来创建一个新分支。这将创建一个基于主分支的副本,您可以在该分支上独立进行开发。
-
切换分支:您可以通过在项目页面上点击 "Branch: master" 按钮并选择要切换的分支来切换到不同的分支。这将切换您的工作目录以查看和编辑特定分支的文件。
-
合并分支:一旦您在分支上完成了更改,您可以将其合并回主分支或其他分支。您可以使用 "Pull Request" 功能创建一个请求,请求将您的更改合并到目标分支中。项目的其他成员可以审查您的更改并提供反馈。
-
解决冲突:当多个分支对同一文件进行了不同的更改时,会发生冲突。在合并分支时,如果存在冲突,您需要解决这些冲突才能成功合并。您可以手动编辑文件以解决冲突,或者使用合并工具来自动解决冲突。
-
删除分支:一旦分支的工作完成,您可以删除它。在分支页面上,点击 "Delete branch" 按钮即可删除分支。请注意,删除分支后,分支上的更改将无法恢复。
分支是GitHub中重要的协作和版本控制工具,它使团队成员能够独立工作并将更改有序地合并到项目中。
操作方法:
- 打开要创建分支的项目页面。
- 点击页面右上角的 "Branch: master" 按钮,这将打开一个下拉菜单。
- 在下拉菜单中输入新分支的名称,并点击 "Create branch" 按钮。
- 这样就已经创建了一个新分支。可以在新分支上进行更改,而不会影响主分支。
1.2 Git工具
1.2.1 git介绍
Git是一个分布式版本控制系统,最初由Linus Torvalds开发,用于管理和追踪文件的变化。它可以记录文件的修改历史,并且可以轻松地在不同的分支之间切换。
Git的主要特点包括:
-
分布式:每个开发者都可以拥有自己的本地代码仓库,可以在本地进行开发和提交,而不需要依赖中央服务器。这样可以提高开发效率,并且即使服务器出现故障,代码也不会丢失。
-
高效性能:Git的设计目标是快速和高效。它使用了一种称为“快照”的方式来存储文件的变化,而不是每次都保存完整的文件副本。这样可以减少存储空间的占用,并且在处理大型项目时也可以提高速度。
-
强大的分支管理:Git具有强大的分支管理功能,可以轻松地创建、合并和删除分支。这使得团队成员可以并行开发不同的功能,而不会相互干扰。
-
完整的历史记录:Git会记录每次提交的详细信息,包括修改的文件、修改的内容以及提交者的信息。这样可以方便地追踪和回溯代码的变化,以及查找问题的根源。
-
支持多种协作方式:Git支持多种协作方式,包括基于SSH的远程仓库、基于HTTP协议的远程仓库以及通过电子邮件进行的协作。这使得开发者可以根据自己的需求选择适合的方式进行协作。
1.2.2 git使用
git工作流:
使用git的方式:
- 命令行
- GUI界面(可以直接在官网下载)
- IDE插件(拓展)
命令行工具
(因为涉及到隐私信息,就没有界面的截图了)
Git命令行指令是我们操作git常用的方式,下面按照git的
-
创建和初始化仓库:
git init
:在当前目录下创建一个新的Git仓库。
-
设置和配置:
git config --global user.name "Your Name"
:设置全局用户名。git config --global user.email "youremail@example.com"
:设置全局用户邮箱。git config --global core.editor "editor"
:设置默认文本编辑器。git config --global credential.helper store
:设置全局存储密码。git config --global alias.<alias-name> <git-command>
:创建Git命令别名。
-
添加和提交文件:
git add <file>
:将文件添加到暂存区。git add .
:将所有修改过的文件添加到暂存区。git commit -m "Commit message"
:提交暂存区的文件到仓库。
-
分支管理:
git branch
:列出所有分支。git branch <branch-name>
:创建新的分支。git checkout <branch-name>
:切换到指定分支。git merge <branch-name>
:将指定分支合并到当前分支。git branch -d <branch-name>
:删除指定分支。
-
远程仓库:
git remote add <remote-name> <remote-url>
:添加远程仓库。git remote -v
:查看远程仓库列表。git push <remote-name> <branch-name>
:将本地分支推送到远程仓库。git pull <remote-name> <branch-name>
:从远程仓库拉取最新代码。
-
查看和比较:
git status
:查看工作区、暂存区和仓库的状态。git log
:查看提交历史。git diff
:查看工作区和暂存区的差异。git diff <commit1> <commit2>
:比较两个提交之间的差异。
-
撤销和回退:
git restore <file>
:撤销对文件的修改。git reset <commit>
:回退到指定的提交。git revert <commit>
:撤销指定的提交。
-
标签管理:
git tag
:列出所有标签。git tag <tag-name>
:创建新的标签。git tag -a <tag-name> -m "Tag message"
:创建带注释的标签。git push --tags
:将本地标签推送到远程仓库。
GUI工具
git提供了GUI可视化的界面用来管理项目。
1.创建仓库
按下windows键,在搜索栏输入Git Gui,并打开对应工具
2、创建本地仓库(输入项目文件夹地址,在该地址上创建仓库)
3、进入仓库管理界面
说明:
工作区:列出有改动的文件(你在该地址中创建的所有项目都会在上面显示)
暂存区:存放将要提交到版本库的文件,工作区中修改完成的文件应将放入暂存区
差异区:在工作区/暂存区选择文件会显示出改动前后的具体信息
提交的说明:提交时写入改动的相关说明
Rescan:扫描出改动的文件,显示在工作区。GUI并不会实时更新对仓库的修改,需要点击Rescan按钮重新扫描。
Stage Changed:将工作区中所有文件放入暂存区。
Sign off:在提交的说明后面附加上当前git账号的信息。多人协作时方便看到提交的编辑者。
Commit:将暂存区的文件提交到版本库。
Push:推送到远程版本库。
我个人还是不太喜欢git GUI工具,一是不够简洁,二是不支持utf8格式的数据(中文显示为乱码)
相关文章:

python特别篇—github基本操作手册
一、开始使用 1.1 “Hello world” 1.1.1 github介绍 GitHub是一个基于Git版本控制系统的代码托管平台。它提供了一个在线的代码仓库,使开发者可以将自己的代码存储在云端,并与其他开发者进行协作。GitHub不仅仅是一个代码托管平台,还提供了…...
tiktok直播websocket序列化与反序列化
系列文章目录 websocket训练地址:https://www.qiulianmao.com,正在搭建中 基础-websocket逆向基础-http拦截基础-websocket拦截基础-base64编码与解码基础-protobuf序列化与反序列化视频号直播弹幕采集tiktok protobuf序列化与反序列化实战一:Http轮询更新中tikto...
微信picker弹出之后 , 背景变成灰色是怎么做的
微信小程序在弹出picker组件时,会将页面背景变为半透明的灰色,这是通过设置一个全屏的蒙层来实现的。 具体实现方法如下: 在WXML文件中,添加一个view元素作为蒙层,并设置其样式和属性: <view class&q…...

通用考勤后台管理系统
考勤后台系统,包括待办事项、人员管理、任务中心、任务详情、我的任务、客户管理、考勤功能几大功能,本后台系统以考勤打卡为主要功能,采用分屏布局的方式,简洁大方,使用方便...
LeetCode75——Day5
文章目录 一、题目二、题解 一、题目 345. Reverse Vowels of a String Given a string s, reverse only all the vowels in the string and return it. The vowels are ‘a’, ‘e’, ‘i’, ‘o’, and ‘u’, and they can appear in both lower and upper cases, more t…...

面向C++模块的开源 IFC SDK
早在 VS2019 v16.10 版本的时候,我们就官宣了对 C 模块(以及几乎所有其他 C 20 特性)的全面支持,包括 MSVC 编译器工具集,静态分析,智能感知和调试器等,而实现模块需要将 C 代码实现为一种内部的临时表示形式。 今天&…...

Docker开启远程访问+idea配置docker+dockerfile发布java项目
一、docker开启远程访问 1.编辑docker服务文件 vim /usr/lib/systemd/system/docker.servicedocker.service原文件如下: [Unit] DescriptionDocker Application Container Engine Documentationhttps://docs.docker.com Afternetwork-online.target docker.socke…...

基于nodejs+vue教学辅助管理系统
学生;首页、个人中心、本课程设计了线上教学辅助系统 ,学生可以此系统实现在线学习,作业提交管理、作业成绩管理。随着社会的快速发展,计算机的影响是全面且深入的。教师:首页、个人中心、课程信息管理、教学资料管理、作业信息管…...
Qt 子线程中无限递归的信号槽导致主线程槽失效的原因和解决办法
Qt 子线程中无限递归的信号槽导致主线程槽失效的原因和解决办法 问题描述 在一个 Qt6.5.3 的项目中,有一个 ImageProcessor 类负责在子线程中进行图像处理,并有一个 MainWindow 类在主线程中进行界面更新。虽然 ImageProcessor::processingDone 信号被…...

实施 DevSecOps 最佳实践
DevSecOps 是一个框架,它将开发 (Dev)、IT 运营 (Ops) 和安全 (Sec) 流程的实践融合到一个简化的流程中。使用这种方法,DevSecOps 团队能够确保将安全性集成到软件开发生命周期中,确保以“安全第一”的心态构建、部署和维护软件。在本教程中&…...
第56节——redux-toolkit中的createAction——了解
一、概念 createAction 是一个用于创建 Redux action creator 的函数,它可以让你更快地编写 Redux 相关的代码,并且更加易于阅读和维护。 二、简单示例 使用 createAction,你只需要传入一个字符串类型的 action type,然后它会返…...

【数据结构】排序--选择排序(堆排序)
目录 一 堆排序 二 直接选择排序 一 堆排序 堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。它是 通过堆来进行选择数据。 需要注意的是排升序要建大堆,排降序建小堆。 直接选择排…...
C# 图解教程 第5版 —— 第2章 C# 和 .NET Core
文章目录 2.1 .NET 框架的背景2.2 为什么选择 .NET Core(和 Xamarin)2.3 .NET Core 的目标2.4 多平台支持2.5 快速发展和升级2.6 程序占用空间小、部署简单、版本问题少2.7 开源社区支持(*)2.8 改进的应用程序性能2.9 全新的开始&…...
数据结构 | Huffman TreeCode
构造参考: 赫夫曼树_关于huffman树,权值相同-CSDN博客 编码参考: 【数据结构与算法】-哈夫曼树(Huffman Tree)与哈夫曼编码_数据结构哈夫曼树编码-CSDN博客...
mysql拼接字符串函数
在MySQL中,可以使用CONCAT()函数来拼接字符串。CONCAT()函数接受一个或多个字符串作为参数,并将它们连接在一起。以下是CONCAT()函数的使用示例: 拼接两个字符串: SELECT CONCAT(Hello, , World); -- 输出: Hello World 拼接列中…...
python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域
python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域 目录 python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域 1、先来看个问题吧: 2、引用 VS 拷贝: 3、增强赋值以及共享引用:...

《动手学深度学习 Pytorch版》 8.6 循环神经网络的简洁实现
import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2lbatch_size, num_steps 32, 35 train_iter, vocab d2l.load_data_time_machine(batch_size, num_steps)8.6.1 定义模型 num_hiddens 256 rnn_layer nn.RNN(len(voca…...

leetcode做题笔记173. 二叉搜索树迭代器
实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器: BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象。BST 的根节点 root 会作为构造函数的一部分给出。指针应初始化为一个不存在…...
RPA流程自动化的优势和好处
随着科技的发展,RPA机器人自动化过程已成为企业提高效率和降低人力成本的一种有效手段。RPA机器人可以模拟和执行人类操作,通过自动执行重复性和繁琐的任务,让员工能够将更多时间和精力投入到更有价值的工作中。 RPA(Robotic Process Automa…...

搭建 Hadoop 生态集群大数据监控告警平台
目录 一、部署 prometheus 环境 1.1 下载安装包 1.2 解压安装 1.3 修改配置文件 1.3.1 hadoop-env.sh 1.3.2 prometheus_config.yml 1.3.3 zkServer.sh 1.3.4 prometheus_zookeeper.yaml 1.3.5 alertmanager.yml 1.3.6 prometheus.yml 1.3.7 config.yml 1.3.8 t…...

基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...