当前位置: 首页 > news >正文

Python的核心知识点整理大全66(已完结撒花)

目录

D.3 忽略文件

.gitignore

注意

D.4 初始化仓库

D.5 检查状态

D.6 将文件加入到仓库中

D.7 执行提交

D.8 查看提交历史

D.9 第二次提交

hello_world.py

D.10 撤销修改

hello_world.py

注意

D.11 检出以前的提交

往期快速传送门👆(在文章最后):

感谢大家的支持!欢迎订阅收藏!专栏将持续更新!


D.3 忽略文件

扩展名为.pyc的文件是根据.py文件自动生成的,因此我们无需让Git跟踪它们。这些文件存 储在目录__pycache__中。为让Git忽略这个目录,创建一个名为.gitignore的特殊文件(这个文件 名以句点打头,且没有扩展名),并在其中添加下面一行内容:

.gitignore
__pycache__/ 

这让Git忽略目录__pycache__中的所有文件。使用文件.gitignore可避免项目混乱,开发起来 更容易。


注意

如果你使用的是Python 2.7,请将这行内容改为*.pyc。Python 2.7不会创建目录 __pycache__,它将每个.pyc文件都存储在相应.py文件所在的目录中。其中的星号让Git 忽略所有扩展名为.pyc的文件


你可能需要修改文本编辑器的设置,使其显示隐藏的文件,这样才能使用它来打开文 件.gitignore。有些编辑器被设置成忽略名称以句点打头的文件。

D.4 初始化仓库

你创建了一个目录,其中包含一个Python文件和一个.gitignore文件,可以初始化一个Git仓库 了。为此,打开一个终端窗口,切换到文件夹git_practice,并执行如下命令:

git_practice$ git init
Initialized empty Git repository in git_practice/.git/
git_practice$ 

输出表明Git在git_practice中初始化了一个空仓库。仓库是程序中被Git主动跟踪的一组文件。 Git用来管理仓库的文件都存储在隐藏的.git/中,你根本不需要与这个目录打交道,但千万不要删 除这个目录,否则将丢弃项目的所有历史记录。

D.5 检查状态

执行其他操作前,先来看一下项目的状态

git_practice$ git status
1 # On branch master
#
# Initial commit
#
2 # Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .gitignore
# hello_world.py
#
3 nothing added to commit but untracked files present (use "git add" to track)
git_practice$ 

在Git中,分支是项目的一个版本。从这里的输出可知,我们位于分支master上(见1)。你 每次查看项目的状态时,输出都将指出你位于分支master上。接下来的输出表明,我们将进行初 始提交。提交是项目在特定时间点的快照。 Git指出了项目中未被跟踪的文件(见2),因为我们还没有告诉它要跟踪哪些文件。接下来, 我们被告知没有将任何东西添加到当前提交中,但我们可能需要将未跟踪的文件加入到仓库中 (见3)。

D.6 将文件加入到仓库中

下面将这两个文件加入到仓库中,并再次检查状态:

1 git_practice$ git add .
2 git_practice$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
3 # new file: .gitignore
# new file: hello_world.py
#
git_practice$

命令git add .将项目中未被跟踪的所有文件都加入到仓库中(见1)。它不提交这些文件, 而只是让Git开始关注它们。现在我们检查项目的状态时,发现Git找出了需要提交的一些修改(见 2)。标签new file意味着这些文件是新添加到仓库中的(见3)。

D.7 执行提交

下面来执行第一次提交:

1 git_practice$ git commit -m "Started project."
2 [master (root-commit) c03d2a3] Started project.
3 2 files changed, 1 insertion(+)create mode 100644 .gitignorecreate mode 100644 hello_world.py
4 git_practice$ git status
# On branch master
nothing to commit, working directory clean
git_practice$ 

我们执行命令git commit -m "message"(见1)以拍摄项目的快照。标志-m让Git将接下来的 消息("Started project.")记录到项目的历史记录中。输出表明我们在分支master上(见2), 且有两个文件被修改了(见3)。 现在我们检查状态时,发现我们在分支master上,且工作目录是干净的(见4)。这是你每次 提交项目的可行状态时都希望看到的消息。如果显示的消息不是这样的,请仔细阅读,很可能你 在提交前忘记了添加文件。

D.8 查看提交历史

Git记录所有的项目提交。下面来看一下提交历史:

git_practice$ git log
commit a9d74d87f1aa3b8f5b2688cb586eac1a908cfc7f
Author: Eric Matthes <eric@example.com>
Date: Mon Mar 16 07:23:32 2015 -0800Started project.
git_practice$

你每次提交时,Git都会生成一个包含40字符的独一无二的引用ID。它记录提交是谁执行的、 提交的时间以及提交时指定的消息。并非在任何情况下你都需要所有这些信息,因此Git提供了 一个选项,让你能够打印提交历史条目的更简单的版本:

git_practice$ git log --pretty=oneline
a9d74d87f1aa3b8f5b2688cb586eac1a908cfc7f Started project.
git_practice$ 

标志--pretty=oneline指定显示两项最重要的信息:提交的引用ID以及为提交记录的消息。

D.9 第二次提交

为展示版本控制的强大威力,我们需要对项目进行修改,并提交所做的修改。为此,我们在 hello_world.py中再添加一行代码:

hello_world.py
print("Hello Git world!")
print("Hello everyone.") 

如果我们现在查看项目的状态,将发现Git注意到了这个文件发生了变化:

git_practice$ git status
1 # On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
2 # modified: hello_world.py
#
3 no changes added to commit (use "git add" and/or "git commit -a")
git_practice$ 

输出指出了我们当前所在的分支(见1)、被修改了的文件的名称(见2),还指出了所做的 修改未提交(见3)。下面来提交所做的修改,并再次查看状态:

1 git_practice$ git commit -am "Extended greeting."
[master 08d4d5e] Extended greeting.1 file changed, 1 insertion(+)
2 git_practice$ git status
# On branch master
nothing to commit, working directory clean
3 git_practice$ git log --pretty=oneline
08d4d5e39cb906f6cff197bd48e9ab32203d7ed6 Extended greeting.
be017b7f06d390261dbc64ff593be6803fd2e3a1 Started project.
git_practice$ 

我们再次执行了提交,并在执行命令git commit时指定了标志-am(见1)。标志-a让Git将仓 库中所有修改了的文件都加入到当前提交中(如果你在两次提交之间创建了新文件,可再次执行 命令git add .将这些新文件加入到仓库中)。标志-m让Git在提交历史中记录一条消息。 我们查看项目的状态时,发现工作目录也是干净的(见2)。最后,我们发现提交历史中包 含两个提交(见3)。

D.10 撤销修改

下面来看看如何放弃所做的修改,恢复到前一个可行状态。为此,首先在hello_world.py中再 添加一行代码:

hello_world.py
print("Hello Git world!")
print("Hello everyone.")
print("Oh no, I broke the project!") 

保存并运行这个文件。 我们查看状态,发现Git注意到了所做的修改:

git_practice$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
1 # modified: hello_world.py
#
no changes added to commit (use "git add" and/or "git commit -a")
git_practice$

Git注意到我们修改了hello_world.py(见1)。我们可以提交所做的修改,但这次我们不提交 所做的修改,而要恢复到最后一个提交(我们知道,那次提交时项目能够正常地运行)。为此, 我们不对hello_world.py执行任何操作——不删除刚添加的代码行,也不使用文本编辑器的撤销功能,而在终端会话中执行如下命令:

git_practice$ git checkout .
git_practice$ git status
# On branch master
nothing to commit, working directory clean
git_practice$ 

命令git checkout让你能够恢复到以前的任何提交。命令git checkout .放弃自最后一次提 交后所做的所有修改,将项目恢复到最后一次提交的状态。 如果我们返回到文本编辑器,将发现hello_world.py被修改成了下面这样:

print("Hello Git world!")
print("Hello everyone.") 

就这个项目而言,恢复到前一个状态微不足道,但如果我们开发的是大型项目,其中数十个 文件都被修改了,那么恢复到前一个状态,将撤销自最后一次提交后对这些文件所做的所有修改。 这个功能很有用:实现新功能时,你可以根据需要做任意数量的修改,如果这些修改不可行,可 撤销它们,而不会对项目有任何伤害。你无需记住做了哪些修改,因而不必手工撤销所做的修改, Git会替你完成所有这些工作。


注意

想要看到以前的版本,你可能需要在编辑器窗口中单击,以刷新文件。


D.11 检出以前的提交

你可以检出提交历史中的任何提交,而不仅仅是最后一次提交,为此可在命令git check末 尾指定该提交的引用ID的前6个字符(而不是句点)。通过检出以前的提交,你可以对其进行审核, 然后返回到最后一次提交,或者放弃最近所做的工作,并选择以前的提交:

git_practice$ git log --pretty=oneline
08d4d5e39cb906f6cff197bd48e9ab32203d7ed6 Extended greeting.
be017b7f06d390261dbc64ff593be6803fd2e3a1 Started project.
git_practice$ git checkout be017b
Note: checking out 'be017b'.
1 You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:git checkout -b new_branch_name 
HEAD is now at be017b7... Started project.
git_practice$ 

检出以前的提交后,你将离开分支master,并进入Git所说的分离头指针(detached HEAD) 状态(见1)。HEAD表示项目的当前状态,之所以说我们处于分离状态,是因为我们离开了一个 命名分支(这里是master)。 要回到分支master,可检出它:


关于“Python”的核心知识点整理大全62-CSDN博客

关于“Python”的核心知识点整理大全37-CSDN博客

关于“Python”的核心知识点整理大全25-CSDN博客

关于“Python”的核心知识点整理大全12-CSDN博客

往期快速传送门👆(在文章最后):

感谢大家的支持!欢迎订阅收藏!专栏将持续更新!

相关文章:

Python的核心知识点整理大全66(已完结撒花)

目录 D.3 忽略文件 .gitignore 注意 D.4 初始化仓库 D.5 检查状态 D.6 将文件加入到仓库中 D.7 执行提交 D.8 查看提交历史 D.9 第二次提交 hello_world.py D.10 撤销修改 hello_world.py 注意 D.11 检出以前的提交 往期快速传送门&#x1f446;&#xff08;在文…...

k8s的存储卷

存储卷------数据卷 把容器内的目录&#xff0c;和宿主机的目录进行挂载。 容器在系统上的生命周期是短暂的&#xff0c;delete&#xff0c;k8s用控制&#xff08;deployment&#xff09;创建的pod&#xff0c;delete相当于重启&#xff0c;容器的状态也会回复到初始状态。 …...

Git 实战指南:常用指令精要手册(持续更新)

&#x1f451;专栏内容&#xff1a;Git⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;前路未远&#xff0c;步履不停 目录 一、Git 安装过程1、Windows 下安装2、Cent os 下安装3、Ubuntu 下安装 二、配置本地仓库1、 初始化 Git 仓库2、配置 name 和 e…...

关于SpringMVC前后端传值总结

一、传递方式 1、查询参数&路径参数 查询参数&#xff1a; URI:/teachers?typeweb GetMapping("/klasses/teachers") public List<Teacher> getKlassRelatedTeachers(String type ) { ... }如果查询参数type与方法的名称相同&#xff0c;则直接将web传入…...

【排序】归并排序(C语言实现)

文章目录 1. 递归版的归并排序1.1 归并排序的思想2. 递归版的归并排序的实现 2. 非递归版的归并排序 1. 递归版的归并排序 1.1 归并排序的思想 归并排序&#xff08;MERGE - SORT&#xff09;是建立在归并操作上的一种有效的排序算法, 该算法是采用分治法&#xff08;Divide a…...

127. 单词接龙

和433.最小基因变化这道题一样的解法。 https://blog.csdn.net/qq_43606119/article/details/135538247 class Solution {public int ladderLength(String beginWord, String endWord, List<String> wordList) {Set<String> cnt new HashSet<>();for (int …...

计算机算法贪心算法

贪心算法&#xff08;Greedy Algorithm&#xff09;是一种常见的算法思想&#xff0c;它在每一步选择当前状态下最优的解决方案&#xff0c;从而希望最终能够达到全局最优解。 贪心算法的基本思路是每一步都选择当前状态下的局部最优解&#xff0c;而忽略了当前选择所带来的影…...

基于css实现动画效果

介绍 本文将会基于css&#xff0c;实现各种动画效果&#xff0c;接下来会从简单几个例子入手。 案例 三颗球 <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8" /><title>React App</title><style>…...

18.将文件上传至云服务器 + 优化网站的性能

目录 1.将文件上传至云服务器 1.1 处理上传头像逻辑 1.1.1 客户端上传 1.1.2 服务器直传 2.优化网站的性能 2.1 本地缓存优化查询方法 2.2 压力测试 1.将文件上传至云服务器 客户端上传&#xff1a;客户端将数据提交给云服务器&#xff0c;并等待其响应&#xff1b;用户…...

Linux: module: kheaders;CONFIG_IKHEADERS

文章目录 参考错误开一个玩笑。configcommit参考 https://github.com/iovisor/bcc/pull/2312 https://github.com/iovisor/bcc/pull/3588 https://bugs.gentoo.org/809347 https://lore.kernel.org/lkml/20190408212855.233198-1-joel@joelfernandes.org/ 错误 <built-in…...

Page 251~254 Win32 GUI项目

win32_gui 源代码&#xff1a; #if defined(UNICODE) && !defined(_UNICODE)#define _UNICODE #elif defined(_UNICODE) && !defined(UNICODE)#define UNICODE #endif#include <tchar.h> #include <windows.h>/* Declare Windows procedure */…...

Kafka(七)可靠性

目录 1 可靠的数据传递1.1 Kafka的可靠性保证1.2 复制1.3 Broker配置1.3.1 复制系数1.3.2 broker的位置分布1.3.3 不彻底的首领选举1.3.4 最少同步副本1.3.5 保持副本同步1.3.6 持久化到磁盘flush.messages9223372036854775807flush.ms9223372036854775807 1.2 在可靠的系统中使…...

Spring Data JPA入门到放弃

参考文档&#xff1a;SpringData JPA&#xff1a;一文带你搞懂 - 知乎 (zhihu.com) 一、 前言 1.1 概述 Java持久化技术是Java开发中的重要组成部分&#xff0c;它主要用于将对象数据持久化到数据库中&#xff0c;以及从数据库中查询和恢复对象数据。在Java持久化技术领域&a…...

MES系统数据采集的几种方式

生产制造执行MES系统具有能够帮助企业实现生产数据收集与分析、生产计划管理、生产过程监控等的功能板块&#xff0c;在这里小编就不一一介绍了&#xff0c;主要讲讲它的数据采集功能板块&#xff0c;可以说&#xff0c;数据采集是该系统进行数据统计与生产管理等后续工作的基础…...

铭文 LaunchPad 平台 Solmash 推出早鸟激励计划

为感谢用户对Solmash的支持&#xff0c;Solmash 特别推出“Solmash早鸟激励计划”&#xff0c;以回馈社区的早期参与者&#xff0c;这是专为已经参与Staking Pool或Honest Pool的用户推出的激励。 Solmash NFT激励 被列入早鸟计划的用户&#xff0c;可通过点击&#xff1a;sol…...

【前端规范】

1 前言 HTML 作为描述网页结构的超文本标记语言&#xff0c;一直有着广泛的应用。本文档的目标是使 HTML 代码风格保持一致&#xff0c;容易被理解和被维护。 2 代码风格 2.1 缩进与换行 [强制] 使用 4 个空格做为一个缩进层级&#xff0c;不允许使用 2 个空格 或 tab 字符…...

12、JVM高频面试题

1、JVM的主要组成部分有哪些 JVM主要分为下面几部分 类加载器&#xff1a;负责将字节码文件加载到内存中 运行时数据区&#xff1a;用于保存java程序运行过程中需要用到的数据和相关信息 执行引擎&#xff1a;字节码文件并不能直接交给底层操作系统去执行&#xff0c;因此需要…...

【Docker】Docker安装入门教程及基本使用

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《Docker实战》。&#x1f3af;&#x1f3af; &…...

语义解析:如何基于SQL去实现自然语言与机器智能连接的桥梁

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 语义解析 定义 作用 语义解析的应用场景 场景一&#xff1a; 场景二&#xff1a; 总结语…...

Java项目:117SpringBoot动漫论坛网站

博主主页&#xff1a;Java旅途 简介&#xff1a;分享计算机知识、学习路线、系统源码及教程 文末获取源码 117SpringBoot动漫论坛网站 一、项目介绍 动漫论坛网站是由SpringBootMybatis开发的&#xff0c;旅游网站分为前台和后台&#xff0c;前台为用户浏览&#xff0c;后台进…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...

从实验室到产业:IndexTTS 在六大核心场景的落地实践

一、内容创作&#xff1a;重构数字内容生产范式 在短视频创作领域&#xff0c;IndexTTS 的语音克隆技术彻底改变了配音流程。B 站 UP 主通过 5 秒参考音频即可克隆出郭老师音色&#xff0c;生成的 “各位吴彦祖们大家好” 语音相似度达 97%&#xff0c;单条视频播放量突破百万…...

CVE-2023-25194源码分析与漏洞复现(Kafka JNDI注入)

漏洞概述 漏洞名称&#xff1a;Apache Kafka Connect JNDI注入导致的远程代码执行漏洞 CVE编号&#xff1a;CVE-2023-25194 CVSS评分&#xff1a;8.8 影响版本&#xff1a;Apache Kafka 2.3.0 - 3.3.2 修复版本&#xff1a;≥ 3.4.0 漏洞类型&#xff1a;反序列化导致的远程代…...