编码工具使用(go语言)
阅读原文时间:2023年07月08日阅读:2

1.课程介绍

Git基础课程和实操
Goland介绍以及常用快捷键使用
Go delve 调试
你想要的linux 这里都有

2.版本控制工具介绍

原始的版本控制
修改文件,保存文件副本
版本控制的起源:diff && patch
diff:用来比较两个文件或者目录的差异
patch:patch是diff的反向操作,通过diff.txt把任一其中一个文档变成另外一个文档
Rcs最早点本地版本控制工具
RCS(revision control system)采用diff集合采用RCS自己的格式保存到磁盘,通过diff -n left.c right.c
产生RCS格式的diff内容,能通过这些diff集合,重新写会到文件修改的任何历史的点
CVS,SVN集中式版本控制工具
CVS(concurrent version system)集中版本控制
存在问题:不支持原子化提交,会导致客户端向副段提交不完整的数据
SVN(subversion)实现了原子提交,优化了存储
Git:linux 的第二个伟大作品
linus坚定反对CVS,SVN,Bitkeeper分布式,开发git
集中式vs分布式:记录差异vs记录快照
脆弱的中央库vs 强大的分布库
SVN不适合跨地域开发,对代码高质量追求和代码门禁
GIT不适合word等二进制文本,因为git无锁定,解锁模式,不能排他修改
整体读授权,不能讲授权精细到目录
结语:什么是Git

3. linux 安装git
包管理安装
源码安装

4. git 基本操作命令

git版本控制下的三种工程区域和文件状态
版本库(repository)/隐藏目录.git
工作区 (working directory)
暂存区 (stage)/.git/index索引中
已提交(commmitted)
已修改(modified)
已暂存(staged)

git常用命令实操
git init/git clone
git add/git rm /git mv
git diff/git status
git log
git push
git branch/git checkout/git branch -d/git pull
git merge/git rebase
git reset/git checkout

5.基本提交推送
新建工程 git clone xx
ls -a 会显示.git
echo "readtxt" >> READ.md
git status
git add READ.md
git commit -am "first test"
git status
git branch
git log --name-status 显示详情
git log -h
git push origin master
git remote -v

6.本地分支开发与日志查看
git commit --amend 修改最近的一次提交内容vim
git log
git checkout -b newbranch
git log
git rm a.txt
git status
git mv b.txt temp/
git status => renamed b.txt -> temp/b.txt
echo "ccc">c.txt
git commit -am "too many edit"
git log --name-status
git log -1
git push origin newbranch

7.本地分支合并
远端分支查看git branch -r
查看所有分支git branch -a
合并分支 git merge master 新生成一个节点
git rebase master 移动之前的所有节点到当前节点丢失原来的分支
git merge 源分支 当前分支
git log

8 本地分支节点更新
git diff bugfix/test origin/bugfix/test
git log -2
git branch -a
只更新本地分支,不合并 git fetch origin feature/xxx:feature/xxx
git log -2
git branch
git checkout feature/xxx
git log
git checkout bugfix/test
git log
只想更新feature/xxx 的那一次提交到bugfix/test,其他的都不管
git cherry-pick commit-id //pick commit-id的内容并且生成新的commit-id
git log -2

9 本地分支合并过程中的冲突解决
git branch
git merge test master
如果有相同行修改,则会报冲突
git merge --abort 可以忽略这次的merge
git status
修改both modified file
====== 上部分为当前分支内容修改,下部分为合并分支修改
git status
git add c.txt
git commit -am "resolve confit"
git diff commit-id1 commit-id2

10 本地撤销 后悔药
git reset --hard commit-id(十分确认后才可以回退)
git log
git status
git checkout filename
git checkout . 回退修改的所有文件
git reflog 最近做的操作

Goland介绍以及常用快捷键使用

1.实际编码中使用的快捷键
2.key Promoter,go inspection等插件
3.目标:持续练习,肌肉记忆,脱离鼠标
4.GOROOT,GOPATH
5.新增Alt+insert,Alt+enter
移动Alt + 箭头
ctrl + G 定位到行
ctrl + w 可以选定单词继而语句继而函数
ctrl + shift + w 取消选择光标所在词
shift+shift查找任意文件
ctrl+n 查找结构体
shift+F6 重命名

Go delve 调试
1.ctrl+shift+F9/F10运行测试用例
2.ctrl+F8 打断点/取消断点
3. F7 进入函数
4. F8 单步
5. F9 到下一个断点
6. Alt + F8 查看表达式结果

有态度的linux

操作系统的概念:
操作系统
查看操作系统:
cat /proc/version
查看系统时间:date
查看IO、系统内存、CPU、监控视图等:
cat /proc/cpuinfo 查看cpu的详细信息
free -m 查看内存使用情况
top 监控视图,深入学习可以网上自学
Iostat 输出 CPU 和磁盘 I/O 相关的统计信息。
查看网络端口状态
netstat -anp | grep 18008 查看18008端口状态