这是一些七月份琐碎句子的合集,还有一些TiddlyWiki的迁移。
害人的快速编辑模式
Windows的CMD或者PowerShell有个快速编辑模式默认是开启的,这个设置平常很好用,直接可以复制终端里的文本,但是你在命令行有个什么程序在不停跑的时候双击命令行会让页面不刷新。关闭方法是对着终端的窗口白色部分右键属性进行设置,然后点击终端按F5刷新页面。
VSCode相关操作
同时对多个相同字符的操作,对于类名或变量名:右键 > 重命名符号,对于一般字符,一种是全部查找替换,推荐的方法是选中字符,然后Ctrl+Shift+L
。
都快忘了的网站细节
之前折腾来折腾去增删了很多东西,以至于这个主题的代码块必须指定语言,否则黑漆漆。
开启Github提交签名验证
Github 官方中文文档,开启后会让自己的每次提交、标签有个小绿标认证,方法都在文档里。可以使用Git自带的GPG生成密钥对省事,路径Git\usr\bin\gpg.exe
。步骤我写一下。不是教程仅供参考(系统是Windows 10),每个命令行的参数意思可以./gpg -h
查看。
- 在终端里简单地生成密钥对
./gpg --generate-key
- 输入昵称,邮箱,必须和你的Github账号信息一样
- 确认后会让你输入口令短语给密钥加密(可选),以后每次Github提交验证都会输入
- 输入
gpg --list-keys
查看公钥,格式例如下面这样:
pub rsa3072/THATISPUBKEY 2022-07-26 [SC] [expires: 2024-07-25]
14FF3564F6F90FC0305936AA239C7732D13031F9
uid [ultimate] test@mail.com <test@mail.com>
sub rsa3072/THATISPUBKEY 2022-07-26 [E] [expires: 2024-07-25]
pub rsa3072/THATISPUBKEY
代表“这是公钥部分,加密方法是ras3072,KeyID是THATISPUBKEY”,我们上传Github的是公钥部分,导出需要KeyID,于是
5. 导出公钥./gpg --armor --export
,复制后粘贴到Github
6. 每次提交时加上-S
签名,或者全局启用git config --global commit.gpgsign true
。
出错?
- 是否本地Git用户和密钥对信息不匹配
- 是否没有指定Git使用的GPG程序(例:
git config --global gpg.program "E:\Git\usr\bin\gpg.exe"
)
Git 仓库的相关操作
忽略文件:
cd D:/myrepo
touch .gitignore
//Windows 不支持 touch 命令,而 Powershell 的创建文件命令又过于复杂,所以直接新建文本然后重命名就好了
创建 .gitignore 文件后,文件内容可以是这样:
/mtk/ 过滤整个文件夹
*.zip 过滤所有.zip文件
a.b 过滤某个具体文件
语法如下:
- 以斜杠
/
开头表示目录; - 以星号
*
通配多个字符; - 以问号
?
通配单个字符 - 以方括号
[]
包含单个字符的匹配列表; - 以叹号
!
表示不忽略(跟踪)匹配到的文件或目录;
一些命令
//Git 全局设置
git config --global user.name "username"
git config --global user.email "youremail@address.com"
创建 git 仓库:
mkdir dirname
cd dirname
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://example.com/username/repository.git
git push -u origin main
本地已有仓库:
git remote add origin https://example.com/username/repository.git
git branch -M main
git push -u origin main
\\对于小白注意:“本地已有仓库”不是已有文件夹,而是含有 `.git` 的已经初始化过的文件夹
往后的提交:
git add .
//第一步看情况做不做
git commit -m "new commit"
git push -u origin main
关联多个远程仓库:
git remote add [anotherrepo] https://gitee.com/username/repository.git
[anotherrepo]
可以是你取的另一个远程仓库的别名,通常情况下关联的多个远程仓库来自不同平台,所以可以取gitee,github,coding
这种名字。然后你推送的时候就会:
git push gitee master
git push github master
...
移除与远程仓库关联:
git remote remove [origin]
//这个[origin]填仓库别名
一些报错内容
fatal: remote origin already exists.
致命,远程来源已经存在。即本地库已经关联了origin的远程库,该警告出现在我要关联一个远程仓库时,此本地仓库之前关联过一个远程仓库,但是远程仓库已经删除了,而本地的配置依旧保留着,解决方法是直接删除.git
文件夹或运行git remote rm origin
,最后再重新执行git remote add origin XXX
fatal: Not a git repository (or any of the parent directories): .git
字面意思,缺少.git
文件,直接git init
初始化就行
关于Git的进阶内容