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

news2024/11/16 21:12:35

目录

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 .gitignore
 create 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 -0800
 Started 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博客

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

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

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

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

相关文章

openssl3.2 - 编译

文章目录 openssl3.2 - 编译概述OpenSSL源码下载编译目标如何编译前置环境 - perl前置环境 - VS前置环境 - NASM快速编译步骤编译 - Quick startInstall PerlInstall NASMUse Visual Studio Developer Command Prompt with administrative privilegesFrom the root of the Open…

Windows安装部署nginx

1、官网下载安装包&#xff1a; 官网地址&#xff1a;https://nginx.org/en/download.html 下载好后&#xff0c;解压即可&#xff1a; 在nginx的配置文件是conf目录下的nginx.conf&#xff0c;默认配置的nginx监听的端口为80&#xff0c;如果本地80端口已经被使用则修改成其…

分析抖音直播弹幕评论和礼物的websocket数据流信息,通过proto协议解析消息内容思路

现在定位到一个解析的大概位置&#xff1a; e.decode function(e, t) {e instanceof o || (e o.create(e));for (var n, i, s void 0 t ? e.len : e.pos t, u new r.webcast.im.MemberMessage(r.webcast. 通过请求找到发送请求的js代码位置&#xff0c;然后通过跟踪这…

ASP.NET Core中实现个人资料上传图片功能

当用户需要在ASP.NET Core中实现修改个人资料的功能时&#xff0c;其中一个常见的需求就是允许上传个人头像图片。下面将详细介绍如何在ASP.NET Core中实现修改个人资料上传图片的功能。 步骤一&#xff1a;控制器中添加一个HttpPost方法 首先&#xff0c;我们在控制器中添加…

基于JavaWeb+SSM+Vue基于微信小程序的消防隐患在线举报系统的设计与实现

基于JavaWebSSMVue基于微信小程序的消防隐患在线举报系统的设计与实现 源码获取入口KaiTi 报告Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 KaiTi 报告 1.1 题目背景 随着信息化飞速发展&#xff0c;互联网不…

【gRPC学习】使用go学习gRPC

个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 RPC是远程调用,而google实现了grpc比较方便地实现了远程调用,gRPC是一个现代的开源远程过程调用(RPC)框架 概念介绍 在gRPC中&#xff0c;客户端应用程序可以直接调用另一台计算机上的服务器应用程序上的方法&#…

PyTorch 进阶指南,这个宝典太棒了

最新写了很多关于 Pytorch 的文章&#xff0c;主要针对刚刚接触 Pytorch 的同学&#xff0c;文章我给大家列出来了&#xff0c;喜欢可以从0开始学习&#xff1a; 小白学 PyTorch 系列&#xff1a;这一次&#xff0c;我准备了 20节 PyTorch 中文课程小白学 PyTorch 系列&#x…

【视频图像篇】模糊图像处理之运动模糊造成的车牌号码图像模糊还原

【视频图像篇】模糊图像处理之运动模糊造成的车牌号码图像模糊还原 处理车辆运动过程中造成车牌号码的视频图像模糊—【蘇小沐】 0、目录 1、实验环境 2、路径 3、测量工具&#xff1a;测量模糊角度及距离 4、运动模糊滤波器 5、结果展示 1、实验环境 系统环境Windows…

YOLOv5训练损失、精度、mAP绘图功能 | 支持多结果对比,多结果绘在一个图片(消融实验、科研必备)

一、本文介绍 本文给大家带来的是YOLOv5系列的绘图功能,我将向大家介绍YOLO系列的绘图功能。我们在进行实验时,经常需要比较多个结果,针对这一问题,我写了点代码来解决这个问题,它可以根据训练结果绘制损失(loss)和mAP(平均精度均值)的对比图。这个工具不仅支持多个文件…

P12 音视频复合流——TS流讲解

前言 从本章开始我们将要学习嵌入式音视频的学习了 &#xff0c;使用的瑞芯微的开发板 &#x1f3ac; 个人主页&#xff1a;ChenPi &#x1f43b;推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ &#x1f525; 推荐专栏2: 《Linux C应用编程&#xff08;概念类&#xff09;_C…

C# 程序员如何进行职业规划?

C# 程序员如何进行职业规划&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「C#的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&…

中通快递查询,中通快递单号查询,批量删除不需要的快递单号

快递单号的管理现在是许多企业和个人日常工作中不可或缺的一部分&#xff0c;面对堆积如山的快递单号&#xff0c;如何快速、准确地处理成了许多人的难题。今天&#xff0c;我们将为大家带来一款强大的快递单号处理软件——快递批量查询高手&#xff0c;让你从此告别繁琐的手动…

分布式系统架构设计之分布式缓存的数据拆分、数据同步和数据淘汰策略

三、数据拆分和同步策略 1、数据拆分 数据拆分是计算机科学中的一个概念&#xff0c;主要目的是为了提高数据访问速度或者在受限于存储空间大小时&#xff0c;对被访问的数据进行分块处理的技术&#xff0c;这种技术可以确保数据更高效地存储和访问。 在分布式系统中&#x…

59.网游逆向分析与插件开发-游戏增加自动化助手接口-文字资源读取类的C++还原

内容来源于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;游戏菜单文字资源读取的逆向分析-CSDN博客 码云地址&#xff08;master分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;55358fb135a0c821d8e8…

前台收款单选择的保险公司 提示 往来户不属于该财务组织

前台收款单选择的保险公司 提示 往来户不属于该财务组织 问题避免 新增保险公司的时候&#xff0c;找一个已经存在的保险公司&#xff0c;利用多页签复制的方式来新增 保险公司 不然不能够自动生成 财务客户

STM32学习笔记二十二:WS2812制作像素游戏屏-飞行射击游戏(12)总结

至此&#xff0c;飞行射击游戏已经基本实现该有的功能&#xff0c;已经比较接近早期的商业游戏了。 如果采用脚本&#xff0c;可以完成关卡游戏&#xff0c;如果不用&#xff0c;也可以做成无限挑战游戏。 我们汇总一下制作的过程&#xff1a; 1、建模UML 2、主循环处理过程…

学习笔记:C++之 switch语句

Switch语句 作用&#xff1a;执行多条件分支语句 语法&#xff1a; switch&#xff08;表达式&#xff09;{ case 结果1&#xff1a;执行语句&#xff1b;break&#xff1b; case 结果2&#xff1a;执行语句&#xff1b;break&#xff1b; ... default&#xff1a;执行语句&a…

百度自由DIY小程序源码:PHP+MySQL组合开发 带完整的搭建教程

随着移动互联网的快速发展&#xff0c;小程序已成为企业与用户互动的重要平台。然而&#xff0c;对于许多中小企业和开发者来说&#xff0c;从零开始开发一款小程序需要投入大量的时间和资源。 以下是部分代码示例&#xff1a; 系统特色功能一览&#xff1a; 1.高度自定义&…

一致化和一致量纲化问题

归一化/标准化实质是一种线性变换&#xff0c;线性变换有很多良好的性质&#xff0c;这些性质决定了对数据改变后不会造成“失效”&#xff0c;反而能提高数据的表现&#xff0c; &#xff08;1&#xff09;无量纲化 例如房子数量和收入&#xff0c;因为从业务层知道&#xf…

不是小米SU7买不起,而是17.58万的银河E8更有性价比

作者 |Amy 编辑 |德新 疯狂的2023年车市已过。这一年&#xff0c;新势力与传统车企自主品牌在新能源战略上多次交锋。 新能源汽车市场不再由新势力独领风骚&#xff0c;传统车企的新能源品牌进步迅猛&#xff0c;增长势头强劲。 以吉利汽车集团为例&#xff0c;2023年其新能…