git - study

news2025/3/1 17:55:53

文章目录

    • git - study
    • 概述
    • 可以用 git gui工具来添加快捷命令工具
    • 如果要在提交日志中搜索,可以用gitk的view编辑功能
    • 实验环境
    • 直接用git自带环境进行git操作的好处
    • 查看git所有配置
    • 配置全局数据
    • 配置项目专用的数据
    • 查询配置数据的原始值
    • 配置git使用的文本编辑器
    • 获取某个git命令的帮助
    • git基本操作
    • 需要确认自己要操作的项目的主分支的名称
    • 初始化git项目
    • 克隆仓库
    • 查看项目文件的状态
    • 设置要被git操作忽略的文件
    • 文件变化的比较
    • 图形化比较
    • 提交文件
    • 查看log
    • 远程仓库
    • 推送代码
    • 建立分支
    • 切换到指定的分支
    • 推送分支
    • 查看所有分支
    • 自动add所有后提交
    • 查看分支 - 命令
    • 查看分支还是用gitk方便
    • 切换分支时,如果还没有提交
    • 合并分支
    • 删除分支
    • 远程分支
    • 删除远程分支
    • rebase
    • 远端的git库搭建
    • 打标签
    • 查看标签
    • 推送本地所有标签到远端
    • 查看远端标签
    • 备注
    • 推送所有
    • 用git自带工具的感受
    • END

git - study

概述

progit 这本书是官方的,权威。

以下内容都是对这本书的读书笔记和实验的体会。
这本官方的书,前半部分说git命令具体怎么用,后半部分说github怎么用 + git高级和细节的操作。因为作者就是github的人。
能看完前半部分对自己有用的部分,就可以熟练用git命令来进行日常的git操作了。
对于危险的git操作(e.g. 删除本地分支,删除远程分支,删除tag, rebase, reset), 最好不要做。如果非要做的话,最好找个靠谱的GUI工具来弄。

只记录一些正常git操作中能用得到的,危险/高级的指令不学习。
只保证用git for win自带的工具能进行正常的git库操作就行, 以后只用官方的git工具。
像看日志这种操作用git自带的gitk命令来图形化查看日志。
日常操作也可以用git gui这个命令来用图形化的方式完成。
官方做的这2个工具git命令的封装比较好(一个用来提交,一个用来看日志),工具也比较轻量。

可以用 git gui工具来添加快捷命令工具

在这里插入图片描述
在这里插入图片描述

如果要在提交日志中搜索,可以用gitk的view编辑功能

在这里插入图片描述

实验环境

$ git --version
git version 2.48.1.windows.1

直接用git自带环境进行git操作的好处

git bash + gitk + git gui
每一步都有明确的提示,如果操作一步后,漏了啥操作,可以明确的知道。
现在的git前端gui工具,都只是封装了一部分的git命令,所有还是用原生的git命令操作最直接。
将常用的/或者说全部能用到的git命令记录下来,该进行什么git命令操作,如果忘了,就查一下自己的笔记,很快就能熟练的使用git命令行了。

如果有些操作(e.g. 查看git历史和版本)用命令行不直观,这时就可以用gitk来辅助。

查看git所有配置

git config --list --show-origin

配置全局数据

git config --global xx 向git的全局配置文件中写入内容

$ git config --global user.name "John Doe" 
$ git config --global user.email johndoe@example.com

Git 会使用它找到的每一个变量的最后一个配置, 一般来说,全局git配置数据在前面,项目本身的git配置数据在后面。

配置项目专用的数据

git config xx 向项目本身的配置文件中写入内容

$ git config user.name "John Doe" 
$ git config user.email johndoe@example.com

查询配置数据的原始值

$ git config --show-origin rerere.autoUpdate 
file:/home/johndoe/.gitconfig	false

配置git使用的文本编辑器

git config --global core.editor xx

e.g.

$ git config --global core.editor "'C:\Users\chenx\AppData\Local\Programs\Microsoft VS Code\Code.exe' "

获取某个git命令的帮助

$ git <verb> --help

e.g.

$ git config --help

一般来说,会弹出一个本地网页或者远程网页来显示请求的git 命令的帮助。

git基本操作

需要确认自己要操作的项目的主分支的名称

主分支的名称都是默认的,不是main, 就是master, 和库建立时的选项(主分支默认名称)有关系。

初始化git项目

命令行用 git bash

cd ./my_project
git init

这个目录现在就可以作为一个git仓库了。

增加一个test1.c, LICENSE
在这里插入图片描述
向git项目添加文件

git add *.c
git add LICENSE

提交

git commit -m 'initial project version'

克隆仓库

在一个非git项目的目录(该目录没有.git目录), 可以克隆远程仓库

git clone <远程仓库的url> [迁出到本地的目录名称]
git clone https://github.com/libgit2/libgit2 mylibgit

查看项目文件的状态

git status

如果项目提交后,未变动,就显示未工作树是干净的
在这里插入图片描述
如果项目中新增了文件,就会显示出该文件,不用我们自己去找哪个文件该被添加。
在这里插入图片描述
如果项目中的文件被修改了,也会显示出来。
在这里插入图片描述
如果工作目录中的文件被删掉了,也会被列出来。
在这里插入图片描述
如果嫌弃列出的文件信息太复杂,可以用短格式。

git status -s

段格式的标记含义如下

  • ’ ’ = unmodified
  • M = modified
  • T = file type changed (regular file, symbolic link or submodule)
  • A = added
  • D = deleted
  • R = renamed
  • C = copied (if config option status.renames is set to “copies”)
  • U = updated but unmerged
X          Y     Meaning
-------------------------------------------------
         [AMD]   not updated
M        [ MTD]  updated in index
T        [ MTD]  type changed in index
A        [ MTD]  added to index
D                deleted from index
R        [ MTD]  renamed in index
C        [ MTD]  copied in index
[MTARC]          index and work tree matches
[ MTARC]    M    work tree changed since index
[ MTARC]    T    type changed in work tree since index
[ MTARC]    D    deleted in work tree
            R    renamed in work tree
            C    copied in work tree
-------------------------------------------------
D           D    unmerged, both deleted
A           U    unmerged, added by us
U           D    unmerged, deleted by them
U           A    unmerged, added by them
D           U    unmerged, deleted by us
A           A    unmerged, both added
U           U    unmerged, both modified
-------------------------------------------------
?           ?    untracked
!           !    ignored
-------------------------------------------------

设置要被git操作忽略的文件

直接新建或编辑 .gitignore 文件,一般就是根目录下有一个.gitignore文件。但是项目中的每个目录都可以有.gitignore.

.gitignore的例子 : https://github.com/github/gitignore , 这个例子中有各种语言的.gitignore。

这些 .gitignore的例子很详细(e.g c, c++, VS), 需要时可以参考。

文件变化的比较

git diff

图形化比较

git difftool --tool-help

默认是用 vimdiff 来比较,通过帮助,可以看到,居然支持bc4.

先设置git的difftool
git config --global diff.tool bc4
git config --global difftool.prompt  false
git config --global difftool.bc4.path  "C:\Program Files\Beyond Compare 5\BCompare.exe" 

在这里插入图片描述

提交文件

git add test1.c
git commit -m 'test commit modify file'
# 如果提交时,不加 -m 'xx', 就会弹出VSCODE, 让填写提交信息

如果提交信息只有一行,用 -m比较方便。
如果有多行提交信息,在弹出的VSCODE中编辑多行信息,保存这个文件后,git就会自动提交。关掉保存的VSCODE就行了。

如果用 git status 看到的文件都是自己想要的文件,而不是垃圾文件或者不需要提交的文件。就可以全部自动add然后提交
如果用git status 看到了不该提交的文件,就先设置忽略文件,或者自己将不需要提交文件从资源管理器中删除,再提交

// 这个不好使,那一个一个添加也行
git commit -a -m "v2"

git add LICENSE file1.txt test1.c

查看log

git log

用git log 只能简单看一下,工程大了不现实。

gitk

用gitk这个git自带的工具看,很方便清晰

远程仓库

如果有要迁出的远程仓库,就迁出到本地。
如果自己要做一个本地的仓库做实验,参考(git,gitea - tool - creat Gitea Empty Rep Dir).
现在自己做了一个实验仓库rep_my_git_study用于远程仓库的实验。
然后迁出到本地

git clone http://localhost:3000/name/my_git_study.git my_git_study_gitea

现在就可以做远程git库的实验了。

查看当前迁出工程的远程库

$ git remote -v
origin  http://localhost:3000/name/my_git_study.git (fetch)
origin  http://localhost:3000/name/my_git_study.git (push)

以前还特意去看当前目录的属性,看tortoisegit的git属性页,才知道这个库的git url是啥。
现在用 remote命令就可以很方便的知道当前库的git url.
现在对tortoisegit不感冒了,已经将tortoisegit卸载了。

推送代码

git push origin <分支名称>
// origin 就是remote是看到的远程分支?
// 如果不指定分支名称,就是当前分支

如果是第一次克隆的库,如果项目的名字不在gitea远端的用户名列表内,至少要设置项目的git用户名称
否则认证失败。

git config global user.name "name" 

建立分支

git branch <新分支名称>
# 从当前的Head上, 建立一个新分支

切换到指定的分支

# 建立分支后,并不会自动切换到那个新分支
# 如果向切到指定的分支,必须手工切换
git checkout <已经存在的分支名称>
git switch <已经存在的分支名称>
# 优先使用 git checkout

改变HEAD的方法,只有切换到指定分支,才能够改变HEAD的指向。

推送分支

在本地开分支后,推送后,并不会自动推送到远端url.
需要显势推送分支到远端

git push <remote> <branch>

远端一般是origin,可以用下列命令查看远端的符号
如果分支已经推送过了,再重复推送,只是更新了状态,并不会有其他不良后果。

git remote -v
# 确定远端url符号是 origin

列出本地分支名称

git branch -v
git push origin <branch>

查看远端的分支信息

git branch -r -v
git remote show origin

查看所有分支

git branch -a -v

如果远端没有本地的分支,就要将本地分支推到远端, 如果认证失败,需要配置项目的用户名称和email
用户名和email是远端配置好的,要配套。
如果是第一次推送,需要将远端网页开着

git config user.name "name" 
git config user.email "me@x.com"
git push origin br-1

再查看远端的分支信息,就有本地建立的分支了。
推送的时候,如果不指定分支,那就是推送到当前分支。

自动add所有后提交

# 如果用git status 看到的文件都是自己想要的,可以用下列命令自己添加全部文件后提交
git commit -a -m 'v3 - made a change'

查看分支 - 命令

git log --oneline --decorate --graph --all

查看分支还是用gitk方便

向看分支情况时,还是切到gitk, 然后选中所有分支选项。
在这里插入图片描述
在这里插入图片描述

切换分支时,如果还没有提交

$ git checkout br-1
error: Your local changes to the following files would be overwritten by checkou
t:
        file1.txt
Please commit your changes or stash them before you switch branches.
Aborting

如果切换分支时,本地分支还没提交,会有提示。不会意外丢失文件修改内容。
用git命令操作还是很安全和透明的。

合并分支

# 先切回主分支(要接受其他分支内容合并的分支)
git checkout master

# 在合并之前,比较一下2个版本有啥区别?
git diff br-1
git difftool br-1

# 在主分支中,指定要合并过来的分支
git merge hotfix

# 合并分支后,合并的内容并不会自动出现在当前分支,需要重新迁出当前分支
git checkout master

如果合并出现冲突,可以使用图形化的工具来合并

# 设置合并工具为 Beyond Compare
git config --global merge.tool bc4
git config --global mergetool.extMerge.cmd 'bc4 "$BASE" "$LOCAL" "$REMOTE" "$MERGED"'
git config --global mergetool.extMerge.trustExitCode false
git config --global diff.external extDiff
git mergetool <要合并的分支名称>
# 试过了不好使,提示没有东西要合并
# 那么就用git merge br-xx 来合并好了
# 果真不好使,还是用命令行来合并...
## 估计BC4不可以作为合并工具

删除分支

如果确定一个分支没用了(e.g. 只是一个实验分支,且实验结果已经合并到了主分支, 且这个实验分支以后再也没有人去用,留着也没有参考价值)

# 先回到主分支
git checkout main

# 再删除不要的其他分支
# 如果删除其他分支时有报错,请将每个分支的内容都提交
git branch -d <要删除的分支名称>
# 删除了本地分支后,远程还有这个分支
# 如果该分支还没有合并到主分支,会提示还未合并,无法删除
# 如果确认这个分支的工作都是白搭的,用下列命令强制删除
git branch -D <要删除的分支名称>
# 删除分支这样的操作,还是挺危险的,如果不是刚需,还是留着分支。
# 当然,开分支的时候,就要想清楚,是否真的要开分支

# 用git branch -a -v 查看分支
# 看到远端还有这个分支,只是本地已经没有这个分支了

远程分支

从远端库拉取变化

git fetch origin

删除远程分支

删除远程分支是十分危险的操作, 万一有权连上远程库的人干坏事咋弄?

git push origin --delete <远程分支名称>
git push origin --delete br-1
# 直接被删掉了,挺危险的...
# 为了安全,不管是本地分支,还是远程分支,最好不要删除
# 另外,远程库的备份看来是十分必要的
# reflog的保存时限默认是90天, 万一管理员没有注意到误操作,只能从备份恢复
# 虽然可以用本地reflog恢复,但是还是挺危险的,还是不要删除分支!!!。
# 因为git操作是针对开源工程的,每个人都有权限做所有事,为了安全,备份确实是必要的。

rebase

rebase比较危险,容易造成提交历史的混乱(弄丢提交者和细节提交的文件变化)和开发流程的混乱。
用merge可以完成所有的功能。
不要使用rebase(对于一般的git用户), 有分支合并的任务时,都用merge来做。
只有库的拥有者为了合并主线(版本)方便(众多贡献者协作完成了一个稳定的版本),才有可能用rebase来进行合并的偷懒。

远端的git库搭建

就用gitea命令行就行
如果自己要做一个本地的仓库做实验,参考(git,gitea - tool - creat Gitea Empty Rep Dir).

打标签

用gitk查看提交记录,找到自己要打标签的点的提交ID 9282cccb8a99591b3f1053819bfeb37cde29ff45

git tag -a v0.9.0 9282cccb8a99591b3f1053819bfeb37cde29ff45 -m “v0.9.0”

查看标签

git tag

推送本地所有标签到远端

git push origin --tags
# 推送时,要将gitea的远端管理网页打开,否则失败

查看远端标签

git ls-remote --tags origin

备注

如果只是初步的来用git命令行来干活,看官方书籍的前半部分就行。
有需要再在官方的书中找。
一次都看完,也消化不了,因为书中git操作的深度和广度都挺大的。有些场景,git新手用不到。
在官方书籍的最后,将大类的命令列出来,有快捷方式可以导航到大类命令去仔细看。

推送所有

时间久了,一个工程如果忘记了是否遗漏了要推送的内容,可以尝试全部推送一次。
推送前,先确认一下工程的用户名和email是否正确, 如果不正确,改过来。

chenx@ls3561 MINGW64 /d/my_dev/my_git_study_gitea (main)
$ git config user.name
name

chenx@ls3561 MINGW64 /d/my_dev/my_git_study_gitea (main)
$ git config user.name my_name

chenx@ls3561 MINGW64 /d/my_dev/my_git_study_gitea (main)
$ git config user.email
me@x.com

chenx@ls3561 MINGW64 /d/my_dev/my_git_study_gitea (main)
$ git config user.email my_email@x.com

chenx@ls3561 MINGW64 /d/my_dev/my_git_study_gitea (main)
$

查看要推送的url是否正确?如果不正确,改过来(适用于从第三方的git url克隆的库,但是想推送到自己的git库进行后续私有维护)

# 查看要推送的库
git remote -v
origin  http://localhost:3000/name/my_git_study.git (fetch)
origin  http://localhost:3000/name/my_git_study.git (push)

# 修改要推送的git url
git remote set-url origin <新仓库地址.git>
git remote set-url origin http://localhost:3000/lostspeed/my_git_study.git

需要打开git服务端的网页
再确认一下服务端的用户名和口令是否正确。
执行 b1_list_rep_user.bat
如果用户名不是自己要的,用a2_create_rep_user_pwd.bat改为自己中意的名字和email
如果用户名是自己要的,但是口令需要改一下,用b2_modify_rep_user_pwd.bat来改。

确认客户端要推送上来的库是否存在,如果不存在,需要自己新建的一个同名的库(适合于从第三方迁出,但是想推送到自己的私有库)。


# 如果第一次推送认证失败,再推送一次,在git服务端弹出的认证允许页面,点击允许,就可以推送成功了
# 如果已经推送成功,再执行推送命令,也不会有不良影响,只是显示所有都更新了日期
git push --all origin && git push --tags origin

推送所有完成后,及时将git库管理网页, 客户端git bash窗口,gitea服务端的命令行都关掉。防止自己从其他小库操作时出意外。
因为每个小库的git url的端口都是3000.

用git自带工具的感受

还是官方出的工具NB, 简洁,方便,直观。
以前都在用第三方的git前端工具(e.g. tortoisegit), 如果对于git 新手,用第三方的git 前端,可以免去学习git命令,方便。
但是看git官方的书,里面开篇就提到“这将花费你生命中的几小时来学习git”, 说的很有道理,就几个小时的学习,就能掌握80%的git操作内容,已经足够日常使用git的场景了。如果遇到git操作的细节问题,再来看官方这本书。

现在用官方的git bash 命令行 + git gui + gitk的全家桶,感觉很好,再也不想去用第三方的git 前端的工具了。
如果不想输入命令行,可以自己做一些脚本,来执行自己常用的git命令。
git gui 本身也可以添加一些菜单命令,可以将自己常用的git命令添加为菜单,点击就能执行。
最后,如果真不想输入git命令,那么自己写个程序,封装git命令来干活,也行.

END

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

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

相关文章

FPGA之硬件设计笔记-持续更新中

目录 1、说在前面2、FPGA硬件设计总计说明3、 原理图详解 - ARITX - 7 系列3.1 顶层框图介绍3.2 FPGA 电源sheet介绍&#xff1a;3.2.1 bank 14 和 bank 15的供电3.2.2 bank 0的供电3.2.3 Bank34 35 的供电 3.3 核电压和RAM电压以及辅助电压 4 原理图详解-- Ultrascale ARTIX4.…

嵌入式开发:傅里叶变换(5):STM32和Matlab联调验证FFT

目录 1. MATLAB获取 STM32 的原始数据 2. 将数据上传到电脑 3. MATLAB 接收数据并验证 STM32进行傅里叶代码 结果分析 STM32 和 MATLAB 联调是嵌入式开发中常见的工作流程&#xff0c;通常目的是将 STM32 采集的数据或控制信号传输到 MATLAB 中进行实时处理、分析和可视化…

Cursor AI编程-详细教程

一点准备工作 Cursor方法论&#xff1a;简单到没有方法 Cursor能做什么 Cursor官网&#xff1a;https://www.cursor.com/ja Cursor文档&#xff1a;Cursor – Welcome to Cursor Cursor论坛&#xff1a;Weekly - Cursor - Community Forum 写程序代码 举例&#xff1a; 设…

(十 三)趣学设计模式 之 模版方法模式!

目录 一、 啥是模板方法模式&#xff1f;二、 为什么要用模板方法模式&#xff1f;三、 模板方法模式的实现方式四、 模板方法模式的优缺点五、 模板方法模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&a…

泛型编程、函数模板、类模板

目录 一、泛型编程 1.泛型编程提出背景 1.1.代码复用案例解析 案例1&#xff1a;实现一个交换函数&#xff0c;并对不同类型参数进行函数重载 (1)调试 (2)代码解析 ①代码复用问题 ②泛型编程的解决方案 ③上面泛型Swap函数模版的优点 1.2.泛型编程提出背景 2.泛型编…

【Vue3】浅谈setup语法糖

Vue3 的 setup 语法糖是通过 <script setup> 标签启用的特性&#xff0c;它是对 Composition API 的进一步封装&#xff0c;旨在简化组件的声明式写法&#xff0c;同时保留 Composition API 的逻辑组织能力。以下是其核心概念和原理分析&#xff1a; 一、<script setu…

简洁的个人地址发布页HTML源码

源码介绍 简洁的个人地址发布页HTML源码,源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果 效果预览 源码获取 简洁的个人地址发布页HTML源码

wav格式的音频压缩,WAV 转 MP3 VBR 体积缩减比为 13.5%、多个 MP3 格式音频合并为一个、文件夹存在则删除重建,不存在则直接建立

&#x1f947; 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 &#x1f389; 声明: 作为全网 AI 领域 干货最多的博主之一&#xff0c;❤️ 不负光阴不负卿 ❤️ 文章目录 问题一&#xff1a;wav格式的音频压缩为哪些格式&#xff0c;网络传输给用户播放…

Linux权限 -- 开发工具(一)

文章目录 包管理器yumyum具体操作 Linux编辑器 - vim的使用vimvim的多模式 包管理器yum Linux中安装软件&#xff1a; 1.源码安装 2. 软件包安装 – rpm 3. 包管理器yum(centos) apt/apt-get(ubuntu) 为什么有包管理器&#xff1f; 包管理器会自动帮我们解决包依赖的问题 2. 什…

【leetcode】二分查找专题

文章目录 1.二分查找1.题目2.解题思路3. 解题代码 2.在排序数组中查找元素的第一个和最后一个位置1.题目2.算法原理3. 代码 3.x的平方根1.题目2.代码 4.搜索插入位置1.题目2.解题思路3.解题代码 5.山脉数组的索引1.题目2.解题思路3. 代码 6.寻找峰值1.题目2.解题思路3.代码 7. …

《Python实战进阶》No 7: 一个AI大模型聊天室的构建-基于WebSocket 实时通信开发实战

第7集&#xff1a; 一个AI大模型聊天室的构建-基于WebSocket 实时通信开发实战 在现代 Web 开发中&#xff0c;实时通信已经成为许多应用的核心需求。无论是聊天应用、股票行情推送&#xff0c;还是多人协作工具&#xff0c;WebSocket 都是实现高效实时通信的最佳选择之一。本…

vector习题

完数和盈数 题目 完数VS盈数_牛客题霸_牛客网 一个数如果恰好等于它的各因子(该数本身除外)之和&#xff0c;如&#xff1a;6321。则称其为“完数”&#xff1b;若因子之和大于该数&#xff0c;则称其为“盈数”。 求出2到60之间所有“完数”和“盈数”。 输入描述&#xff…

unity学习59: 滑动条 和 滚动条 滚动区域

目录 1 滑动条 slider 1.1 创建slider 1.2 构成的子物体 1.2.1 找到 某个UI的 方法 1.3 构成的component&#xff0c;主体就是 slider 2 核心属性 2.1 value 2.2 direction 3 作用 3.1 由于是fill back 可以实现血条效果 3.2 可以取得 slider.value 数值 1 滑动条…

基于vue框架的游戏博客网站设计iw282(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,博客信息,资源共享,游戏视频,游戏照片 开题报告内容 基于FlaskVue框架的游戏博客网站设计开题报告 一、项目背景与意义 随着互联网技术的飞速发展和游戏产业的不断壮大&#xff0c;游戏玩家对游戏资讯、攻略、评测等内容的需求日…

UWB人员定位:精准、高效、安全的智能管理解决方案

在现代企业管理、工业生产、安全监测等领域&#xff0c;UWB&#xff08;超宽带&#xff09;人员定位系统正逐步成为高精度定位技术的首选。相较于传统的GPS、Wi-Fi、蓝牙等定位方式&#xff0c;UWB具备厘米级高精度、低延迟、高安全性、抗干扰强等突出优势&#xff0c;能够实现…

在ubuntu 24.04.2 通过 Kubeadm 安装 Kubernetes v1.31.6

文章目录 1. 简介2. 准备3. 配置 containerd4. kubeadm 安装集群5. 安装网络 calico 插件 1. 简介 本指南介绍了如何在 Ubuntu 24.04.2 LTS 上安装和配置 Kubernetes 1.31.6 集群&#xff0c;包括容器运行时 containerd 的安装与配置&#xff0c;以及使用 kubeadm 进行集群初始…

DO-254航空标准飞行器电机控制器设计注意事项

DO-254航空标准飞行器电机控制器设计注意事项 1.核心要求1.1 设计保证等级(DAL)划分1.2生命周期管理1.3验证与确认2.电机控制器硬件设计的关键注意事项2.1需求管理与可追溯性2.2冗余与容错设计2.3验证与确认策略2.4元器件选型与管理2.5环境适应性设计2.6文档与配置管理3.应用…

解决Deepseek“服务器繁忙,请稍后再试”问题,基于硅基流动和chatbox的解决方案

文章目录 前言操作步骤步骤1&#xff1a;注册账号步骤2&#xff1a;在线体验步骤3&#xff1a;获取API密钥步骤4&#xff1a;安装chatbox步骤5&#xff1a;chatbox设置 价格方面 前言 最近在使用DeepSeek时&#xff0c;开启深度思考功能后&#xff0c;频繁遇到“服务器繁忙&am…

python-leetcode-使用最小花费爬楼梯

746. 使用最小花费爬楼梯 - 力扣&#xff08;LeetCode&#xff09; 解法 1&#xff1a;动态规划&#xff08;O(n) 时间&#xff0c;O(n) 空间&#xff09; class Solution:def minCostClimbingStairs(self, cost: List[int]) -> int:n len(cost)dp [0] * (n 1) # 额外多…

ChatGPT 提示词框架

作为一个资深安卓开发工程师&#xff0c;我们在日常开发中经常会用到 ChatGPT 来提升开发效率&#xff0c;比如代码优化、bug 排查、生成单元测试等。 但要想真正发挥 ChatGPT 的潜力&#xff0c;我们需要掌握一些提示词&#xff08;Prompt&#xff09;的编写技巧&#xff0c;并…