python特别篇—github基本操作手册

一、开始使用

1.1 “Hello world”

1.1.1 github介绍

      GitHub是一个基于Git版本控制系统的代码托管平台。它提供了一个在线的代码仓库,使开发者可以将自己的代码存储在云端,并与其他开发者进行协作。GitHub不仅仅是一个代码托管平台,还提供了许多其他功能,如问题跟踪、项目管理、代码审查、持续集成等。开发者可以通过GitHub分享自己的开源项目,也可以在上面找到其他人的开源项目并参与贡献。

GitHub入门需要了解的操作:

  • 创建和使用存储库
  • 启动和管理新分支
  • 对文件进行更改并将其作为提交推送到 GitHub
  • 打开并合并拉取请求

1.1.2 创建存储库

        存储库通常用于组织单个项目。存储库可以包含文件夹和文件、图像、视频、电子表格和数据集 - 您的项目需要的任何内容。通常,存储库包括一个自述文件,一个包含有关项目信息的文件。

点击主页上的“+”号:

  1. 选择New repository表示创建一个新的仓库。
  2. 选择“Import repository”表示引入一个外部版本控制系统中的代码库完整地迁移到GitHub上,并保留其完整的历史记录。

1.1.3 创建分支

        GitHub的分支是用于在项目中独立开发和管理不同功能或修复的副本。它允许团队成员在不影响主分支(通常是master分支)的情况下并行工作,并在完成后将更改合并回主分支。

以下是关于GitHub分支的一些重要概念和操作:

  1. 主分支(master分支):主分支是项目的默认分支,通常用于发布稳定的版本。在主分支上进行的更改会直接影响项目的稳定性。

  2. 创建分支:您可以通过在项目页面上点击 "Branch: master" 按钮并输入新分支的名称来创建一个新分支。这将创建一个基于主分支的副本,您可以在该分支上独立进行开发。

  3. 切换分支:您可以通过在项目页面上点击 "Branch: master" 按钮并选择要切换的分支来切换到不同的分支。这将切换您的工作目录以查看和编辑特定分支的文件。

  4. 合并分支:一旦您在分支上完成了更改,您可以将其合并回主分支或其他分支。您可以使用 "Pull Request" 功能创建一个请求,请求将您的更改合并到目标分支中。项目的其他成员可以审查您的更改并提供反馈。

  5. 解决冲突:当多个分支对同一文件进行了不同的更改时,会发生冲突。在合并分支时,如果存在冲突,您需要解决这些冲突才能成功合并。您可以手动编辑文件以解决冲突,或者使用合并工具来自动解决冲突。

  6. 删除分支:一旦分支的工作完成,您可以删除它。在分支页面上,点击 "Delete branch" 按钮即可删除分支。请注意,删除分支后,分支上的更改将无法恢复。

        分支是GitHub中重要的协作和版本控制工具,它使团队成员能够独立工作并将更改有序地合并到项目中。

操作方法:

  1. 打开要创建分支的项目页面。
  2. 点击页面右上角的 "Branch: master" 按钮,这将打开一个下拉菜单。
  3. 在下拉菜单中输入新分支的名称,并点击 "Create branch" 按钮。
  4. 这样就已经创建了一个新分支。可以在新分支上进行更改,而不会影响主分支。

1.2 Git工具

1.2.1 git介绍

Git是一个分布式版本控制系统,最初由Linus Torvalds开发,用于管理和追踪文件的变化。它可以记录文件的修改历史,并且可以轻松地在不同的分支之间切换。

Git的主要特点包括:

  1. 分布式:每个开发者都可以拥有自己的本地代码仓库,可以在本地进行开发和提交,而不需要依赖中央服务器。这样可以提高开发效率,并且即使服务器出现故障,代码也不会丢失。

  2. 高效性能:Git的设计目标是快速和高效。它使用了一种称为“快照”的方式来存储文件的变化,而不是每次都保存完整的文件副本。这样可以减少存储空间的占用,并且在处理大型项目时也可以提高速度。

  3. 强大的分支管理:Git具有强大的分支管理功能,可以轻松地创建、合并和删除分支。这使得团队成员可以并行开发不同的功能,而不会相互干扰。

  4. 完整的历史记录:Git会记录每次提交的详细信息,包括修改的文件、修改的内容以及提交者的信息。这样可以方便地追踪和回溯代码的变化,以及查找问题的根源。

  5. 支持多种协作方式:Git支持多种协作方式,包括基于SSH的远程仓库、基于HTTP协议的远程仓库以及通过电子邮件进行的协作。这使得开发者可以根据自己的需求选择适合的方式进行协作。

1.2.2 git使用

git工作流:

使用git的方式:

  1. 命令行
  2. GUI界面(可以直接在官网下载) 
  3. IDE插件(拓展)
命令行工具

(因为涉及到隐私信息,就没有界面的截图了)

Git命令行指令是我们操作git常用的方式,下面按照git的 

  1. 创建和初始化仓库:

    • git init:在当前目录下创建一个新的Git仓库。
  2. 设置和配置:

    • 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命令别名。
  3. 添加和提交文件:

    • git add <file>:将文件添加到暂存区。
    • git add .:将所有修改过的文件添加到暂存区。
    • git commit -m "Commit message":提交暂存区的文件到仓库。
  4. 分支管理:

    • git branch:列出所有分支。
    • git branch <branch-name>:创建新的分支。
    • git checkout <branch-name>:切换到指定分支。
    • git merge <branch-name>:将指定分支合并到当前分支。
    • git branch -d <branch-name>:删除指定分支。
  5. 远程仓库:

    • git remote add <remote-name> <remote-url>:添加远程仓库。
    • git remote -v:查看远程仓库列表。
    • git push <remote-name> <branch-name>:将本地分支推送到远程仓库。
    • git pull <remote-name> <branch-name>:从远程仓库拉取最新代码。
  6. 查看和比较:

    • git status:查看工作区、暂存区和仓库的状态。
    • git log:查看提交历史。
    • git diff:查看工作区和暂存区的差异。
    • git diff <commit1> <commit2>:比较两个提交之间的差异。
  7. 撤销和回退:

    • git restore <file>:撤销对文件的修改。
    • git reset <commit>:回退到指定的提交。
    • git revert <commit>:撤销指定的提交。
  8. 标签管理:

    • 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格式的数据(中文显示为乱码)

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

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

相关文章

HSN:微调预训练ViT用于目标检测和语义分割,华南理工和阿里巴巴联合提出

今天跟大家分享华南理工大学和阿里巴巴联合提出的将ViT模型用于下游任务的高效微调方法HSN&#xff0c;该方法在迁移学习、目标检测、实例分割、语义分割等多个下游任务中表现优秀&#xff0c;性能接近甚至在某些任务上超越全参数微调。 论文标题&#xff1a;Hierarchical Side…

uniapp 微信小程序 vue3.0+TS手写自定义封装步骤条(setup)

uniapp手写自定义步骤条&#xff08;setup&#xff09; 话不多说 先上效果图&#xff1a; setup.vue组件代码&#xff1a; <template><view class"stepBox"><viewclass"stepitem"v-for"(item, index) in stepList":key"i…

Sprint framework Day07:注解结合 xml 配置

前言 Spring注解结合XML配置是指在Spring应用中&#xff0c;使用注解和XML配置的方式来进行Bean的定义、依赖注入和其他配置。这种方式可以充分利用Spring框架的注解和XML配置两种不同的配置方式的特点。 在Spring框架中&#xff0c;我们可以使用注解来定义Bean&#xff0c;如…

《动手学深度学习 Pytorch版》 8.5 循环神经网络的从零开始实现

%matplotlib inline import math 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.…

VSCode自定义代码块详解

第一步&#xff1a;点击文件-首选项-用户代码片段 第二步&#xff1a;选择代码块作用域的文件类型 类型一&#xff1a;全局作用域 这种类型的代码块是创建在vscode软件内部的文件。是跟随这当前安装的vscode这个软件的&#xff0c;不会随着项目的关闭而失效&#xff0c;会一直存…

Gpt-4多模态功能强势上线,景联文科技多模态数据采集标注服务等您来体验!

就在上个月&#xff0c;OpenAI 宣布对ChatGPT 进行重大更新&#xff0c;该模型不仅能够通过文字输入进行识别和分析&#xff0c;还能够通过语音、图像甚至视频等多种模态的输入来获取、识别、分析和输出信息。这一重要技术突破&#xff0c;将促进多模态自然语言处理的发展&…

Android位置服务和应用权限

Github:https://github.com/MADMAX110/Odometer 一、使用位置服务 之前的Odometer应用是显示一个随机数&#xff0c;现在要使用Android的位置服务返回走过的距离。 修改getDiatance方法使其返回走过的距离&#xff0c;为此要用Android的位置服务。这些服务允许你得到用户的当…

巧用正则表达式

文章目录 题目巧用正则表达式&#xff0c;题目将十进制转为16进制&#xff0c;可以采用Java的语法来表示 题目 巧用正则表达式&#xff0c;题目将十进制转为16进制&#xff0c;可以采用Java的语法来表示 String nInteger.toString(num,16); 那如何确定是否都是字母呢a-f呢&…

车载多源融合定位

终端硬件由两部分组成&#xff0c;组合导航处理板和地磁导航处理板。 组合导航处理板负责采集加速度计、陀螺、GNSS和轮速计等数据进行组合导航解算&#xff0c;差分数据通过6Q主板获取到后通过串口发送至组合导航处理板。地磁导航处理板负责地磁数据采集&#xff0c;保存至数…

Rxjava3 全新详解及常用操作符

简介 RxJava 是一个基于 Java 的响应式编程库&#xff0c;用于处理异步事件流和数据流。它是由 Netflix 开发并开源&#xff0c;现在广泛用于 Android 和 Java 后端开发。RxJava 提供了一种用于组合和处理异步数据的丰富工具集&#xff0c;它的核心思想是将数据流视为一系列事…

微信发红包(各种红包类型)-测试用例设计

微信发红包&#xff08;各种红包类型&#xff09;

总结10.15

项目进展 登陆注册&#xff0c;连接了数据库&#xff0c;找回密码写到了通过给邮箱发送验证码&#xff0c;然后重新输入密码 项目看法 之后俩天加紧把这个登陆注册这些搞完&#xff0c;注册用到的随机生成一个账号且不重复&#xff0c;且设置一个邮箱作为之后找回密码时候的…

CVPR 2023 | 数据驱动的解释对分布外数据具有鲁棒性吗?

论文链接&#xff1a; https://arxiv.org/abs/2303.16390 代码链接&#xff1a; https://github.com/tangli-udel/DRE 01. 研究背景&#xff1a;数据驱动的解释对分布外数据具有鲁棒性吗&#xff1f; 近年来&#xff0c;将黑盒机器学习&#xff08;ML&#xff09;模型用于高风…

CentOS 7 编译安装Boost

1、前提条件 linux平台/CentOS 7 下要编译安装Boost除gcc和gcc-c之外&#xff0c;还需要两个开发库&#xff1a;bzip2-devel 和python-devel &#xff0c;因此在安装前应该先保证这两个库已经安装。 安装指令: yum install bzip2 bzip2-devel bzip2-libs python-devel Cent…

zookeeper源码学习笔记(一)

一、缘起 1、CP还是AP 作为一个在大数据行业工作了7&#xff5e;8年的老兵&#xff0c;在被问到zookeeper和CAP时&#xff0c;竟然有些恍惚&#xff0c;AP还是CP&#xff1f; 看了一些博文&#xff0c;答案几乎都是CP&#xff1f; zookeeper的实现中&#xff0c;P是一定的&…

低代码提速应用开发

低代码介绍 低代码平台是指一种能够帮助企业快速交付业务应用的平台。自2000年以来&#xff0c;低代码市场一直充斥着40大大小小的各种玩家&#xff0c;比如国外的Appian、K2、Pega Systems、Salesforce和Ultimus&#xff0c;国内的H3 BPM。 2015年以后&#xff0c;这个市场更是…

2023年厦门市高等职业院校技能竞赛软件测试竞赛规程

2023年厦门市高等职业院校技能竞赛 软件测试竞赛规程 一、赛项名称 赛项名称&#xff1a;软件测试 竞赛形式&#xff1a;团体赛 赛项专业大类&#xff1a;电子信息 二、竞赛目的 &#xff08;一&#xff09;检验教学成效 本赛项竞赛内容以《国家职业教育改革实施方案》为设计方…

Docker逃逸---procfs文件挂载

一、产生原因 将宿主机/proc目录挂载进了容器&#xff0c;而该目录内的/proc/sys/kernel/core_pattern文件是负责进程奔溃时内存数据转储的&#xff0c;当第一个字符是| 管道符时&#xff0c;后面的部分会以命令行的方式进行解析并运行&#xff0c;攻击者可以将恶意文件写入该…

【Python数据分析工具】

文章目录 概要整体架构流程技术名词解释 概要 数据分析是一种通过收集、处理、分析和解释大量数据&#xff0c;以发现有价值信息、洞察趋势、制定决策并解决问题的过程。在现代科技和互联网的推动下&#xff0c;数据分析变得日益重要。它不仅仅是对数字和图表的简单解释&#…

MacOS ventura跳过配置锁

Macbook pro 2021跳配置锁 1.什么是配置锁&#xff1f; 配置锁顾名思义就是美国一些企业和公司向苹果工公司定制采购的机器&#xff0c;这些机器一般供应内部员工使用&#xff0c;这种机器和正常机没有什么区别&#xff0c;也是无锁三网机器&#xff0c;功能和正常机器一摸一…