【笔记】Git及Github使用

2023-11-01

目录

Git概述及安装

Git常用命令

设置用户签名(姓名和邮箱地址)

“~/.gitconfig”

初始化本地库

查看本地库状态

本地文件添加到暂存区

提交本地库,形成历史版本

修改文件

历史版本信息

版本穿梭(回溯历史版本)

查看当前本地库中所有文件

Git分支操作

创建分支

合并分支

解决冲突的流程

压缩历史(更改历史)

团队协作

团队内协作

跨团队协作

github使用前准备

设置SSH Key

添加公开密钥

创建仓库(Repository)

github操作

本地库代码推送到远程库(push)

pull

clone

加入团队

pull request

IDEA 集成 Git

配置 Git 忽略文件

定位 Git 程序

切换版本

分支操作

IDEA集成github


参考:尚硅谷Git入门到精通全套教程(涵盖GitHub\Gitee码云\GitLab)_哔哩哔哩_bilibili

          《GitHub入门与实践》 ——大塚弘记

课程内容:

Git概述及安装

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。

集中式版本控制工具 :CVS、SVN(Subversion)、VSS……

集中化的版本控制系统诸如 CVS、SVN 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。

缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。

分布式就是每个人手里都有一份自己的历史记录,而集中式只是集中服务器上有所有人的记录

  • 工作区:本地存放代码的位置,存放本地写的代码
  • 暂存区:临时存储,可将工作区的代码添加(add)到暂存区
  • 本地库:将暂存区的代码提交(commit)到本地库后才会生成历史版本

工作区和暂存区的代码是可以被删掉的,没有历史记录和历史版本

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。

可以使用push将本地库的代码推送到远程库

Git常用命令

设置用户签名(姓名和邮箱地址)

设置用户签名:签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。

想更改这些信息时,可以直接编辑设置文件“~/.gitconfig”。这里设置的姓名和邮箱地址会用在Git的提交日志中。由于在GitHub上公开仓库时,这里的姓名和邮箱地址也会随着提交日志一同被公开,所以请不要使用不便公开的隐私信息。

“~/.gitconfig”

git config --global color.ui auto

将color.ui设置为auto可以让命令的输出拥有更高的可读性。“~/.gitconfig”中会增加下面一行。

初始化本地库

git init

让git获得目录的管理权。

建议直接从需要操作的目录中进入git bash

此时可以在文件夹下看到.git文件夹(有可能隐藏了),其中的文件不能随便修改

注:git bash中的命令是和linux通用的

.git目录里存储着管理当前目录内容所需的仓库数据。在Git中,我们将这个目录的内容称为“附属于该仓库的工作树”。

查看本地库状态

git status

在main分支下,当前没有提交(空)

vim hello.txt
// i 进入编辑模式
// Esc后 yy是复制,p粘贴
// :wq保存退出

使用cat 文件名可以在bash中查看当前工作区存在的文件

未追踪的文件

可以使用git add追踪(添加到暂存区) (use "git add <file>..." to include in what will be committed)

本地文件添加到暂存区

git add hello.txt

git默认转换了换行符

此时文件存在于工作区&暂存区。是可以删除且不显示历史版本的 (use "git rm --cached <file>..." to unstage)

只删除了暂存区的,工作区依然存在

如果不改变暂存区的文件,只把工作区文件删除:

git会记录操作历史,可以用git restore xx恢复文件或手动将其从缓存区删除

提交本地库,形成历史版本

git commit命令可以将当前暂存区中的文件实际保存到仓库的历史记录中。

git commit -m "版本日志" 文件名

fd66e69是版本号

刚才我们只简洁地记述了一行提交信息,如果想要记述得更加详细,请不加-m,直接执行git commit命令。执行后编辑器就会启动,并显示如下结果。

在编辑器中记述提交信息的格式如下。

  • 第一行:用一行文字简述提交的更改内容
  • 第二行:空行
  • 第三行以后:记述更改的原因和详细内容

中止提交:如果在编辑器启动后想中止提交,请将提交信息留空并直接关闭编辑器,随后提交就会被中止。


当文件夹中所有文件都提交到本地库后:

git reflog

指针指向第二个版本

git log

详细日志不仅可以看到不同版本,还能看到是谁提交的(显示用户签名),此时显示的版本号是完整的版本号

修改文件

模拟企业中版本和代码的迭代

修改文件后查看状态,可以看到修改记录,但此次修改还未加入暂存区

git是按行维护文件的,修改了其中的一行就会显示一行被修改(把修改之前的删掉,插入修改之后的)

历史版本信息

git reflog //查看版本信息(显示的版本号是精简版的)
git log //查看版本详细信息(显示完整版本号)
git log --pretty=short //仅显示第一行简述信息
git log --graph //可视化显示版本信息

只要在git log命令后加上目录名,便会只显示该目录下的日志。如果加的是文件名,就会只显示与该文件相关的日志。

  • git log命令只能查看以当前状态为终点的历史日志
  • git reflog命令可以查看当前仓库的操作日志。
git log hello.txt //查看关于该文件的改动
git log -p hello.txt //查看该文件改动前后的差别

git diff查看工作树、暂存区、最新提交之间的差别。

  • 执行git diff命令,如果工作树和暂存区的状态并无差别,什么都不会显示
  • 要查看与最新提交的差别,执行git diff HEAD

在执行git commit命令之前先执行git diff HEAD命令,查看本次提交与上次提交之间有什么差别,等确认完毕后再进行提交。这里的HEAD是指向当前分支中最新一次提交的指针。

版本穿梭(回溯历史版本)

如果想要切换到之前的版本,可以先查看对应的版本号,

复制:Ctrl + Insert ;粘贴:Shift + Insert

鼠标快捷键:复制是双击左键 粘贴是鼠标中键

之后:

git reset --hard f6ad36c

打开.git文件夹下的HEAD文件,可以看到ref: refs/heads/main,表明指针指向main,目前处在main分支上

打开".git\refs\heads\main"文件可以看到当前指向的提交版本的哈希值。

版本穿梭会直接刷新工作区当前的文件内容
Git 切换版本,底层其实是移动的 HEAD 指针,而不是创造很多副本

查看当前本地库中所有文件

git ls-tree --full-tree -r HEAD  //列出正在跟踪的所有已提交文件
git ls-files  //列出存储库中的所有文件,包括仅暂存但尚未提交的文件。

Git分支操作

版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。

创建分支

git checkout -b feature-A

//或者
git branch feature-A
git checkout feature-A

在feature-A分支修改文件后查看状态,此时工作区存在未提交的hello.txt。需要重复添加暂存区-提交本地库的过程

.git中的HEAD文件

git checkout - //可以表示切换到上一个分支

合并分支

要转到想要合并到的分支上,git merge 要合并的分支

git merge --no-ff feature-A

为了在历史记录中明确记录下本次分支合并,我们需要创建合并提交。所以使用--no-ff

Git 合并时 --no-ff 的作用_Double-Injured的博客-CSDN博客_git 快进式合并

git merge和git merge --no-ff的区别 图解易懂_阿喵阿旺的博客-CSDN博客

【Git学习笔记5】以普通模式合并(--no-ff)、push到远程库及分支管理策略_小詹学 Python的博客-CSDN博客


什么时候会遇到合并冲突:

冲突产生的原因:

合并分支时,两个分支在同一个文件有两套完全不同的修改。Git 无法替我们决定使用哪一个。必须人为决定新代码内容。

(main|MERGING)情况下使用vim hello.txt查看文件具体冲突内容

此时提交到本地库不可以带文件名

合并时只会修改main分支下的内容,feature-A不会被修改

git commit --amend  // 修改提交信息

解决冲突的流程

合并时出现冲突,分支显示为:(main|MERGING)

(main|MERGING)情况下使用vim hello.txt查看文件具体冲突内容,并对其进行修改

之后重新加入缓存区&提交本地库。提交本地库时不可以带具体文件名

git merge no- ff fix-B

不加no-ff表示fast forward合并方式,no- ff表示不使用fast forward

压缩历史(更改历史)

在合并特性分支之前,如果发现已提交的内容中有些许拼写错误等,可以提交一个修改,将这个修改包含到前一个提交之中,压缩成一个历史记录。

git commit -am "Add feature-C" 
//只能提交已经追踪过且修改了的文件,新增文件需要add+commit

git rebase -i HEAD~2
//用上述方式执行git rebase命令
//可以选定当前分支中包含HEAD(最新提交)在内的两个最新历史记录为对象,并在编辑器中打开。

使用rebase后编辑内容:

这样一来,Fix typo就从历史中被抹去,也就相当于Add feature-C中从来没有出现过拼写错误。这算是一种良性的历史改写。

最后合并feature-C分支

团队协作

需要用到代码托管中心,把代码推送到远程服务器

  • push 将代码上传到远程库
  • clone 将代码复制到本地
  • pull 将代码拉取到本地(pull 是本地已有文件,clone是本地无源代码)
  • fork 将代码从其他团队的远程库复制到自己的远程库

团队内协作

跨团队协作

fork 将代码从其他团队的远程库复制到自己的远程库,可以从自己的远程库clone。修改完成后push到自己的远程库。之后发送pull request向其他团队的远程库,经审核后即可使用merge合并

github使用前准备

什么是SSH? - 知乎

设置SSH Key

GitHub上连接已有仓库时的认证,是通过使用了SSH的公开密钥认证方式进行的。

输入密码后会出现以下结果。(也可以不设置密码,直接点回车)

.ssh文件夹中会出现两个文件:id_rsa文件是私有密钥,id_rsa.pub是公开密钥。

添加公开密钥

在GitHub中添加公开密钥,今后就可以用私有密钥进行认证了。

查看id_rsa.pub的内容:

复制内容,在github中连接

确认连接github成功:

创建仓库(Repository)

建议远程库的名字和本地库相同

在Initialize this repository with a README选项上打钩,随后GitHub会自动初始化仓库并设置README文件,让用户可以立刻clone这个仓库。如果想向GitHub添加手中已有的Git仓库,建议不要勾选,直接手动push。

  • 可以在初始化时自动生成.gitignore文件。该文件用来描述Git仓库中不需管理的文件与目录。

这个设定会帮我们把不需要在Git仓库中进行版本管理的文件记录在.gitignore文件中,省去了每次根据框架进行设置的麻烦。下拉菜单中包含了主要的语言及框架,选择今后将要使用的即可。

# no .a files 
# 忽略所有.a文件
*.a

# but do track lib.a, even though you're ignoring .a files above
# 表示不忽略(跟踪)匹配到的lib.a文件或目录
!lib.a

# only ignore the TODO file in the current directory, 
# 只忽略当前目录中的TODO文件,而不是子目录/TODO
not subdir/TODO /TODO

# ignore all files in the build/ directory
# 忽略build/目录中的所有文件
build/

# ignore doc/notes.txt, but not doc/server/arch.txt
# 忽略doc/notes.txt,但不要忽略doc/server/arch.txt
doc/*.txt

# ignore all .pdf files in the doc/ directory
# 忽略doc/目录下的所有。pdf文件
doc/**/*.pdf
  • Add a license:许可协议

仓库地址:https://github.com/用户名/Hello-World

  • README.md会在初始化时生成好,README.md文件的内容会自动显示在仓库的首页当中。因此,人们一般会在这个文件中标明本仓库所包含的软件的概要、使用流程、许可协议等信息。

起别名:远程地址太长了

github操作

本地库代码推送到远程库(push)

git push 别名 分支

推送的最小单位是分支

git推送的完整写法如下:

git push @remoteName  @localBranch:@remoteBranch   
    
// eg.remoteName:origin  localBranch:ceshi  remoteBranch:test   
git push origin ceshi:test 

但是如果本地分支与远程分支名字一样的话,是可以简写的。

pull

$ git pull <远程主机名> <远程分支名>:<本地分支名>  //本地分支与远程分支名字一样,可以简写
$ git pull <ssh链接> <远程分支名>:<本地分支名>

clone

clone和pull不需要登录帐号,公共库的读取权限没有限制

不需要初始化本地库

与pull的区别:pull要求本地已经有文件

clone 会做如下操作:1、拉取代码。2、初始化本地仓库。3、创建别名

加入团队

填入需要邀请的人之后会获得一个链接,被邀请人可以通过点击链接加入

pull request

IDEA 集成 Git

配置 Git 忽略文件

一些文件与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之

间的差异。

创建忽略规则文件 xxxx.ignore(前缀名随便起,建议是 git.ignore)。这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig 文件引用,建议也放在用户家目录下。C:\Users\ROG

git.ignore 文件模版内容如下:

# Compiled class file 
*.class
# Log file 
*.log 
 
# BlueJ files 
*.ctxt 
 
# Mobile Tools for Java (J2ME) 
.mtj.tmp/ 
 
# Package Files # 
*.jar 
*.war 
*.nar 
*.ear 
*.zip 
*.tar.gz 
*.rar 
 
# virtual machine crash logs, see 
http://www.java.com/en/download/help/error_hotspot.xml 
hs_err_pid* 
 
.classpath 
.project 
.settings 
target 
.idea 
*.iml

之后需要在.gitconfig文件(也在家目录)中引用.ignore文件

也可以直接在IDE中安装.ignore插件

定位 Git 程序

以pycharm为例:

VCS: version control setting

项目文件夹下出现.git文件,表示配置完成

且可以看到项目中文件变红

,在git中表示“untracked”状态,还未被加入暂存区

选择后会变绿。表示已添加到暂存区,但未提交本地库。

也可以右键项目根目录add

新建文件时会自动提示是否添加暂存区

之后可以选择commit(提交),会自动忽略ignore中的文件。commit成功后文件会变回黑色

切换版本

IDEA 使用的是 git checkout <commit> 的方式进行的版本切换

(IDEA中追踪过的文件可以不add直接commit)

当前的HEAD指针指向main,main分支指向second版本。切换版本可以直接选定版本右键checkout

分支操作

图中hot-fix master分别表示不同分支指向的版本,HEAD表示当前指针指向的分支

创建分支:在文件夹上点击右键/点击右下角分支标志

切换分支:右下角点击分支图标

合并分支

点击右下角分支图标,切换到master分支,之后

冲突合并

手动修改到中间的result栏

IDEA集成github

安装github插件→settings中选择github,连接账号→VCS(Git)选择github,在github上共享项目

push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push 的操作是会被拒绝的。要想 push 成功,一定要保证本地库的版本要比远程库的版本高。在动手改本地代码之前,一定先检查下远程库跟本地代码的区别,如果本地的代码版本已经落后,要先 pull 一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送。

pull 是拉取远端仓库代码到本地,如果远程库代码和本地库代码不一致,会自动合并,如果自动合并失败,还会涉及到手动解决冲突的问题。

LFS

当文件过大时可以使用Git Large File Storage (LFS)

git lfs install
git lfs track "*.pt"
git add .gitattributes

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【笔记】Git及Github使用 的相关文章

  • git difftool 进行目录比较?

    是否可以使用 git difftool 命令来打开已更改文件和暂存 检查文件之间的目录比较 因此 理想情况下 如果 2 个文件已更改 它们将是唯一显示的 2 个文件 但在目录比较中 我读过关于让 git 并行给出所有文件差异的帖子 所以像
  • 合并 GitHub 中的拉取请求后,Jenkins 将不会触发构建

    到目前为止 在 Jenkins 中触发构建可以很好地创建新的拉取请求 推送更改并留下评论 例如test this please但是 当我在 GitHub 中点击绿色的 合并拉取请求 按钮时 我没有看到 Jenkins 中正在运行任何作业 我
  • 从 git 中提取特定的提交/文件

    我在 git 存储库中进行了两次提交 并将它们推送到我的 git 服务器 两个提交是 在第一次提交中文件 A 被提交 在第二次提交中 文件 B 被提交 现在在另一台开发服务器上 我只想从 git 服务器中提取第一个提交或文件 A 这个怎么做
  • 哪些Git命令无法在本地执行?

    当我和同事谈论 Git 时 我告诉他们 一旦本地存储库初始化 只有三个 Git 命令不能在不访问远程存储库的情况下执行 假设origin当然 不在本地计算机上 git fetch http www kernel org pub softwa
  • GIT Rebase 协作的分支?

    阅读本文后 重新设置基点以收集从主分支到我的功能分支的更改是有意义的 Git 工作流程以及 rebase 与合并问题 https stackoverflow com questions 457927 git workflow and reb
  • 创建 Git 标签时自动运行 Git hook

    是否有一个 Git 钩子可以在添加新的 Git 标签时执行 因为我想自动将新的 Git 标签名称写入文本文件 您知道如何执行此操作吗 虽然目前无法使用挂钩 但您始终可以创建一个简单的脚本 mytag sh bin sh z 1 git ta
  • 用于跟踪远程分支的 Git 子模块

    我正在尝试使用 git 子模块将 10 多个存储库聚合到一个结构中 以便于开发 它应该克隆模块并签出分支 相反 模块以分离头模式检出 git clone email protected cdn cgi l email protection
  • 如何在 Mac OS X 10.9 上安装和使用最新的 Git?

    我从 sourceforge 下载了 Git 2 4 3http git scm com download mac http git scm com download mac对于我的 Macbook Pro OS X 10 9 5 然后安装
  • 如何为Git存储库组织和设置镜像备份服务器?

    我正在将一些 svn 存储库移至 Git 所以 我基本上尝试做的是 设置一台带有裸 Git 存储库的服务器 我将从中拉取和推送到该存储库 为第一台服务器上的所有存储库设置一些备份服务器 所以 假设我的服务器上有一个目录 例如 HOME gi
  • 用于维护项目扩展分支的 Git 工作流程?

    我们在 GitHub 上分叉了一个 OSS 项目 并向其添加一些自定义扩展 我们希望将我们所做的一些更改发送回原始项目 错误修复等 但其他更改是原始项目维护者目前不感兴趣的功能扩展 我正在尝试找出管理这种情况的最佳工作流程 我希望我们的主分
  • 将文件提交到不同的分支而不进行签出

    是否可以在 git 分支中提交文件而不检出该分支 如果是这样怎么办 本质上 我希望能够将文件保存在我的 github Pages 分支中 而无需一直切换分支 有什么想法吗 我需要以原子方式完成此操作 而不更改当前目录 因此多个命令将无法工作
  • 如何在版本控制系统中安全地保存密钥和密码?

    我在版本控制系统中保留了开发和生产服务器的主机名和端口等重要设置 但我知道这是不好的做法保留secrets 如私钥和数据库密码 位于 VCS 存储库中 但密码 就像任何其他设置一样 似乎应该进行版本控制 所以呢is保持密码版本控制的正确方法
  • git分支没有显示所有分支

    opt lampp htdocs drupal 8 4 0 git branch 我已经在我的系统中安装了drupal 我想切换到其他分支 但是当使用git分支时不显示其他分支 Execute git branch av显示所有远程和本地分
  • 尝试匿名克隆 github 存储库时权限被拒绝

    作为匿名用户 github 上没有存储公钥 我尝试通过以下方式克隆公共存储库 git 网址 但它失败了 git clone email protected cdn cgi l email protection mikehaertl phpw
  • 如何从“分离头状态”恢复提交?

    我检查了另一个有更新的分支 然后做了一些更改 切换回主 git 现在更改消失了 我可以把它们找回来吗 终端基本上是 git commit detached HEAD 7c09e17 Fixed some stuff files change
  • git:复制一个版本来玩一下

    在开发应用程序时 我希望在某个时候拥有一份单独的工作副本 以便尝试进行一些更改 这些更改并不意味着要进行 只是玩玩 尝试各种可能性 是什么 best 如何做到这一点 我发现了以下可能性 但想得到比我更有 git 经验的人的建议 我可以用gi
  • 如何运行“git status”并获取文件名

    如何运行 git status 并只获取文件名而不是长相对路径 的输出git status porcelain旨在易于在脚本中解析 输出完整路径而不是相对路径 无论当前目录位于树中的位置 每行输出由git status porcelain有
  • GIT 从特定标签拉取/获取

    有没有办法从存储库中的特定标签中提取 获取代码 我知道克隆后 我可以签出标签 但是否可以在拉取期间指定标签 在 ClearCase 中 我可以重新设置或交付特定的代码基线 有没有一种方法可以使用 git 标签 类似于将代码拉 推到指定标签
  • 为了使“我的更改”正常工作,Github 的正确 VCS 用户名设置是什么?

    我有一个适合个人的 TeamCity 持续构建流程设置GitHub项目 https github com benpowell HelloTxt NET效果很好 但是 在 TeamCity 中 我想在 我的更改 下查看提交列表 http te
  • 获取 Github 上已编译二进制文件的链接

    如何在 Github 上添加已编译二进制文件的链接 您可以使用 URL 链接到 GitHub 存储库中的特定文件http github com

随机推荐

  • java异常NoClassDefFoundError

    这个问题错误原因众多 如下是我在解析数据时遇到的问题并附上解决方法 遇到这样的问题 java lang ClassNotFoundException serialization Serializer 提示没有找到定义的Class 查看各个文
  • win下安装nextcloud_在 Windows 平台下搭建docker - nextCloud 个人云盘

    一直感觉放在百度网盘里面的数据很不安全 因为之前因为存一些技术教程被封过号 再也没活过来 正巧赶上盘当劳事件 手里还有闲置硬件资源 终于下定决心自己搭建一个 NAS 来用了 先挂载到本地磁盘中 因为我们不想因为存储的数据随着容器的删除而消失
  • 机器学习之数据准备

    1 数据预处理的理由 在开始训练机器学习的模型之前 需要对数据进行预处理 这是一个必须的过程 不同算法对数据有不同的假设 需要按照不同的方式转换数据 这样做的目的是为了提高模型的准确度 2 数据转换的方法 调整数据尺度 正态化数据 二值数据
  • oracle libcpt ora,Oracle12c R2注意事项: Active DataGuard logon fail with ORA-00604& ORA-04024

    这是一套12c R2 4 nodes Oracle RAC on RHEL 7的环境 已安装0417 RU 该库有一套Phyical DataGard 同时也是GoldenGate的target端 存在一个replicat 进程同步数据 一
  • C++类模板

    类模板和函数模板语法相似 在声明模板template后面加类 此类称为类模板 类模板作用 建立一个通用类 类中的成员 数据类型可以不具体制定 用一个虚拟的类型来代表 语法 template
  • scanner hasnext方法的结束输入

    先看一段经典的程序 import java util Scanner public class aplusb public static void main String args Scanner in new Scanner System
  • ubuntu 18.04 中 编译 FasterTransformer,与缺少安装包

    前提 A100 cuda 11 6 cudnn8 nccl zlib1g dev git clone recursive https github com NVIDIA FasterTransformer git git submodule
  • 【转】svn详解

    转自 svn status详解 世界 太精彩 博客园 svn 是在提交前查看本地文本和版本库里面的文件的区别 返回值有许多种具体含义如下 L abc c svn已经在 svn目录锁定了abc c M bar c bar c的内容已经在本地修
  • python+pyqt5设置窗体图标和任务栏图标及窗体标题的方法

    本次设置窗体标题只用了一种方法 在进行窗体实例化后window Window 使用setWindowTitle str 命令 在主程序中的设置命令如下所示 if name main QApplication setAttribute Qt
  • lab4

    这一个lab主要学习进程管理和进程通讯 come on 好好学习 PART A 多处理器支持 Exercise 1 void mmio map region physaddr t pa size t size Where to start
  • 18虚幻4【UE4】 中场景中的N个actor赋予随机颜色

    问题 现在1000个静态网格体要附上随机颜色的材质 难道我们要写1000中材质 然后附上去吗 一 思路 获取场景中物体 创建材质实例 修改材质参数 通过get actors with tag也好 通过get actors of class也
  • 51单片机 IIC OLED屏幕驱动+Proteus仿真+实物验证示例程序

    51单片机 IIC OLED屏幕驱动 Proteus仿真 实物验证示例程序 Proteus仿真效果 注意点击运行仿真后 图像刷新出来比较慢 示例主程序 include REG51 h include oled h include bmp h
  • QT获取mysql数据库驱动步骤记录-版本QT_5.12.5-附精华链接

    首先先检查自己的QT已经加载的数据库版本 qDebug lt
  • ARM架构的外部中断介绍(S5PV210芯片)

    1 外部中断介绍 1 中断源的划分 内部中断和外部中断 所谓内部中断和外部中断 是根据中断源来自Soc内部还是外部 1 比如串口 定时器等都是Soc内部自带的 所以触发的中断都是内部中断 2 给Soc外接一个烟雾报警器 通过GPIO引脚和S
  • 关于移动端H5使用xhr上传文件

    首先我是用的是uniapp框架 所以以下内容皆以此未前提 我是第一次用uniapp 所以有些地方也不太熟悉 比如在写h5时 页面上的input的type写成file时页面上没有效果 查看官方文档后知道 需要使用js 插入一个input标签
  • Go语言学习(八)-- Gin入门

    Gin 是一个 Go Golang 编写的轻量级 http web 框架 运行速度非常快 Gin 最擅长的就是 Api 接口的高并发 如果项目的规模不大 业务相对简单 这个时候我们 也推荐您使用 Gin 当某个接口的性能遭到较大挑战的时候
  • js逆向实战案例集目录

    一 js逆向基础篇 js逆向之字体加密 js逆向webpack篇 某电商网站 拼xx js逆向基础篇 某房地产网站 登录 js逆向基础篇 某音乐网站 xx音乐 js逆向之猿人学 反混淆刷题平台第一题 手把手教学 js逆向验证码篇之某程 智能
  • react 创建sass router mobx项目

    尽量不要再vscode中安装依赖推荐使用gitbash 创建项目第一步 基本搭建 git 在创建之前 需要有一个git 仓库 我们之后要把项目搭建到git 中 node版本 查看node 版本 node v v14 15 3 为了保证同步
  • CUDA Vector Add Test 2048x1024

    1 include cuda runtime h CUDAVectorAdd cu 2 include device launch parameters h 3 include IML PrecisionTimer h 4 5 includ
  • 【笔记】Git及Github使用

    目录 Git概述及安装 Git常用命令 设置用户签名 姓名和邮箱地址 gitconfig 初始化本地库 查看本地库状态 本地文件添加到暂存区 提交本地库 形成历史版本 修改文件 历史版本信息 版本穿梭 回溯历史版本 查看当前本地库中所有文件