git
基本教程:Git入门学习
此外从中摘录些常用操作
git分支中常用指令:
列出所有本地分支
git branch
列出所有远程分支
git branch -r
新建一个分支,但依然停留在当前分支
git branch [branch-name]
新建一个分支,并切换到该分支
git checkout -b [branch]
切换分支(本地分支)
git checkout [branch]
合并指定分支到当前分支
$ git merge [branch]
删除分支
$ git branch -d [branch-name]
删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
遇到过的问题
Q1
$ git add .
warning: in the working copy of 'branch1.txt', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'convmixer.py', LF will be replaced by CRLF the next time Git touches it
换行(LF)转换成回车换行(CRLF),解决方法
git提示“warning: LF will be replaced by CRLF”的解决办法
Q2
$ git push origin newbranch1
warning: ----------------- SECURITY WARNING ----------------
warning: | TLS certificate verification has been disabled! |
warning: ---------------------------------------------------
warning: HTTPS connections may not be secure. See https://aka.ms/gcm/tlsverify for more information.
warning: could not find UI helper 'GitHub.UI'
然后在此处停滞
解决此警告的方法
git config --global http.sslVerify true
反向命令
git config --global http.sslVerify false
Q3
$ git push origin newbranch1
fatal: unable to access 'https://github.com/XXX/gitstudy.git/': OpenSSL SSL_read: Connection was reset, errno 10054
理由:
因为git在拉取或者提交项目时,中间会有git的http和https代理,但是我们本地环境本身就有SSL协议了,所以取消git的https代理即可,不行再取消http的代理。
后续
原因还有一个,当前代理网速过慢,所以偶尔会成功,偶尔失败。
//取消http代理
git config --global --unset http.proxy
//取消https代理
git config --global --unset https.proxy
errno 10054问题仍然存在
打开科学上网后问题变为
$ git push origin newbranch1
fatal: unable to access 'https://github.com/xxx/gitstudy.git/': Failed to connect to github.com port 443 after 21077 ms: Couldn't connect to server
Q4
$ git push origin newbranch1
warning: could not find UI helper 'GitHub.UI'
GIT clone 后could not find UI helper,且没有下条提示了怎么办?
新版本version 2.39的bug导致无法显示登录UI界面,请尝试旧版本如2.38.X。
我的版本
$ git -v
git version 2.39.0.windows.1
vim
基本教程:精通 VIM ,此文就够了
此外从中摘录些常用操作
四种模式
正常模式:主要进行的操作有光标的移动,复制文本,删除文本,黏贴文本等。(默认模式)
插入模式:正常模式下按下i,进入编辑状态,通过键盘输入内容。按下ESC回归正常模式。(i是在光标所在的字符之前插入需要录入的文本,此外还有i,I,a,A,o,O,s,S,具体看原文精通 VIM ,此文就够了)
命令模式:正常模式中,按下:(冒号)键或者/ (斜杠),会进入命令模式。可以执行一些输入并执行一些 VIM 或插件提供的指令,包括设置环境、文件操作、调用某个功能等等。
VIM 可视化模式(Visual-mode):v,V,Ctrl+v ,选择文本的时候有一种鼠标选择的即视感。
(进入命令模式或者可视模式没有执行任何操作,按两下 ESC回复正常模式)
翻页操作
ctrl+f 查看下一页内容
ctrl+b 查看上一页内容
撤销操作和恢复
u 撤销刚才的操作
ctrl + r 恢复撤销操作
光标移动
h,j,k,l 这几个按键主要是用来快速移动光标的,h 是向左移动光标,l 是向右移动光标,j 是向下移动光标,k 是向上移动光标,h , j , k ,l 在主键盘区完全可以取代键盘上的 ↑ ,↓ ,← , → 的功能。
Vim 退出
:w 保存不退出
:w! 强制保存不退出
:w file 保存当前的文件修改到 file 文件当中
:q! 退出不保存
:qa! 退出所有文件且不保存
:wq 退出并保存修改
(另有其他)
Vim的复制,黏贴 ,删除(yank paste delete)
为什么在 vi 的世界, 拷贝都使用 yank 这个词, 而不是 copy?
dw 删除一个单词
dnw 删除 n 个单词
dd 删除一整行
ndd 删除光标处开始的 n 行
dH 删除屏幕显示的第一行文本到光标所在的行
dG 删除光标所在行到文本的结束
yw 复制一个单词,
ynw 复制n 个单词
yy 复制一行
nyy 复制光标处开始的 n 行
yH 复制屏幕显示的第一行文本到光标所在的行
yG 复制光标所在行到文本的结束
p 在光标后开始黏贴
P 大写的 P 光标前开始粘贴
当执行完复制或者黏贴的命令以后,VIM 会把文本寄存起来
(更多见原文)
分屏
左右分屏:
vim -On file1 file2 … filen
Ctrl + w h
将当前光标定位到左边的屏幕
Ctrl + w l
将当前的光标定位到右边的屏幕
Ctrl + w H
将当前的分屏移动到左边
Ctrl + w L
将当前的分屏移动到右边
上下分屏:
vim -on file1 file2 … filen
Ctrl + w j
将当前的光标移动到下面的分屏
Ctrl + w k
将当前光标移动到上面的分屏
Ctrl + w J
将当前的分屏移动到下面的分屏
Ctrl + w K
将当前的分屏移动到上面的分屏
关闭分屏
Ctrl + w c
上面这个命令是关闭当前的分屏
Ctrl + w q
上面的这个命令也是关闭当前的分屏,如果是最后一个分屏将会退出 VIM 。
注意:以上内容来源精通 VIM ,此文就够了,为便于查阅摘录于此,想要详细内容请看原文