From c850bd82fa8e0007b416c0d4b20d9f5122e103fd Mon Sep 17 00:00:00 2001
From: lihaibineric 直接上官网下载安装 https://link.zhihu.com/?target=https%3A//git-scm.com/download 或者MAC使用brew对git进行安装 当完成上述的配置之后,就能开始初始化Git仓库,进入需要创建工作区workspace的文件夹输出git初始化的操作 完成连接之后再配置git的相关内容 首先进行初始化设置,使当前文件夹能够使用git Git是一个版本控制系统,是任何软件开发项目中的主要内容。通常有两个主要用途:代码备份和代码版本控制。使用Git可以逐步处理代码,在需要回滚到备份副本的过程中保存每一步的进度。 当完成上述的配置之后,就能开始初始化Git仓库,进入需要创建工作区workspace的文件夹输出git初始化的操作 创建一个名为 .git的新子目录(该目录为隐藏的),其中包含所有必需的存储库文件(Git存储库框架);注意区分工作区和暂存区,在没有add之前我们都是在工作区 【Vscode】考虑Gitgraph插件来可视化git分支目录的全貌 根据需要可以设置为公有的或者是私有的,最好不要设置README.md,因为初始化的国过程可能会出现冲突,设置也没关系 获取本地的SSH公钥匙,打开终端并输入 进入.ssh中复制id_rsa.pub中的内容,并在Github中的如下位置复制改内容添加SSH🔗 完成连接之后再配置git的相关内容 首先进行初始化设置,使当前文件夹能够使用git 如果一开始没有设置README.md文件那么执行 以上这些步骤,就能将本地的git和远端的仓库进行关联 当然会出现本地和远端关联失败的情况,产生的原因可能如下: 在默认情况下, 通过以下命令查看远端和本地的分支,并选择合适的 如果本地初始化的内容和远端的内容不一样,那么无法判断本地和远端的内容差异,因此需要选择如下之一 直接将远端的内容覆盖到本地 强行将本地的内容覆盖到远端,那么就能形成统一,从而完成链接。 执行上述命令之后将会将当前的file或者是工作区中的所有文件都上传到暂存区 上述的命令是将本次的提交添加描述,分布式协作的时候能看清 查看默认配置 查看当前所在的分支位置信息 查看当前分支下的更改日志 将本地暂存区中的更改内容推送到远端 将远端所在的分支内容拉到本地 更新所在分支的最新内容 获取git连接git@ XXX.git之后执行: 如果觉得git的内容太大,可以选择内部的分支进行下载 feature/xxx为具体的分支内容 查看分支 切换不同的分支 创建新的分支 创建新的分支并切换到上面 问题描述:如果当前修改的版本基于旧版,但是远端已经是新版origin/master,此时修改基于的内容和远端不同不能强行推。 解决方法1:通过换基的方法解决,通过将当前的修改的旧版换到最新的基上 解决方法2: 暴力覆盖 Git是一个版本控制系统,是任何软件开发项目中的主要内容。通常有两个主要用途:代码备份和代码版本控制。使用Git可以逐步处理代码,在需要回滚到备份副本的过程中保存每一步的进度。 直接上官网下载安装 或者MAC使用brew对git进行安装 当完成上述的配置之后,就能开始初始化Git仓库,进入需要创建工作区workspace的文件夹输出git初始化的操作 创建一个名为 .git的新子目录(该目录为隐藏的),其中包含所有必需的存储库文件(Git存储库框架);注意区分工作区和暂存区,在没有add之前我们都是在工作区 【Vscode】考虑Gitgraph插件来可视化git分支目录的全貌 根据需要可以设置为公有的或者是私有的,最好不要设置README.md,因为初始化的国过程可能会出现冲突,设置也没关系 获取本地的SSH公钥匙,打开终端并输入 进入.ssh中复制id_rsa.pub中的内容,并在Github中的如下位置复制改内容添加SSH🔗 完成连接之后再配置git的相关内容 首先进行初始化设置,使当前文件夹能够使用git 如果一开始没有设置README.md文件那么执行 以上这些步骤,就能将本地的git和远端的仓库进行关联 当然会出现本地和远端关联失败的情况,产生的原因可能如下: 在默认情况下, 通过以下命令查看远端和本地的分支,并选择合适的 如果本地初始化的内容和远端的内容不一样,那么无法判断本地和远端的内容差异,因此需要选择如下之一 直接将远端的内容覆盖到本地 强行将本地的内容覆盖到远端,那么就能形成统一,从而完成链接。 执行上述命令之后将会将当前的file或者是工作区中的所有文件都上传到暂存区 上述的命令是将本次的提交添加描述,分布式协作的时候能看清 查看默认配置 查看当前所在的分支位置信息 查看当前分支下的更改日志 将本地暂存区中的更改内容推送到远端 将远端所在的分支内容拉到本地 更新所在分支的最新内容 获取git连接git@ XXX.git之后执行: 如果觉得git的内容太大,可以选择内部的分支进行下载 feature/xxx为具体的分支内容 查看分支 切换不同的分支 创建新的分支 创建新的分支并切换到上面 问题描述:如果当前修改的版本基于旧版,但是远端已经是新版origin/master,此时修改基于的内容和远端不同不能强行推。 解决方法1:通过换基的方法解决,通过将当前的修改的旧版换到最新的基上 解决方法2: 暴力覆盖 Git
-是一个版本控制系统,是任何软件开发项目中的主要内容。通常有两个主要用途:代码备份和代码版本控制。使用Git可以逐步处理代码,在需要回滚到备份副本的过程中保存每一步的进度。 当完成上述的配置之后,就能开始初始化Git仓库,进入需要创建工作区workspace的文件夹输出git初始化的操作 创建一个名为 .git
-的新子目录(该目录为隐藏的),其中包含所有必需的存储库文件(Git
-存储库框架);注意区分工作区和暂存区,在没有add之前我们都是在工作区 【Vscode】考虑Git
-graph插件来可视化git分支目录的全貌 根据需要可以设置为公有的或者是私有的,最好不要设置README.md,因为初始化的国过程可能会出现冲突,设置也没关系 获取本地的SSH公钥匙,打开终端并输入 进入.ssh中复制id_rsa.pub中的内容,并在Github中的如下位置复制改内容添加SSH🔗 完成连接之后再配置git的相关内容 首先进行初始化设置,使当前文件夹能够使用git 如果一开始没有设置README.md文件那么执行 以上这些步骤,就能将本地的git和远端的仓库进行关联 指定虚拟环境x的python版本是3.8,base环境是3.11;conda
+activate激活x之后python版本仍为3.11。 原因:在base环境中修改了.zshrc文件中的python只定路径,让每次虚拟环境中的python找到的python都只能按照指定的python路径进行寻找,从而导致conda环境中的python版本不能制定。 修改方式: 进入
+.zshrc环境中进行修改,如果发现一类诸如其他python版本指定的路径的话,需要进行删除,只需要保留最原始的关于anaconda的命令初始化,完成之后输入 解决问题 在conda环境中改变默认的下载镜像源 加上这句话之后就会出现以下的写文件 下载使用清华源加上: -i
+https://pypi.tuna.tsinghua.edu.cn/simple 清华: 阿里云: 中国科技大学
+: 豆瓣: 如果是给conda添加镜像:清华源 添加阿里源 查看已经添加的镜像源 移除其中的指定的镜像源 当然会出现本地和远端关联失败的情况,产生的原因可能如下: 在默认情况下, 通过以下命令查看远端和本地的分支,并选择合适的 如果本地初始化的内容和远端的内容不一样,那么无法判断本地和远端的内容差异,因此需要选择如下之一 直接将远端的内容覆盖到本地 强行将本地的内容覆盖到远端,那么就能形成统一,从而完成链接。 执行上述命令之后将会将当前的file或者是工作区中的所有文件都上传到暂存区 上述的命令是将本次的提交添加描述,分布式协作的时候能看清 查看默认配置 查看当前所在的分支位置信息 查看当前分支下的更改日志 将本地暂存区中的更改内容推送到远端 将远端所在的分支内容拉到本地 更新所在分支的最新内容 获取git连接git@ XXX.git之后执行: 如果觉得git的内容太大,可以选择内部的分支进行下载 feature/xxx为具体的分支内容 查看分支 切换不同的分支 创建新的分支 创建新的分支并切换到上面 问题描述:如果当前修改的版本基于旧版,但是远端已经是新版origin/master,此时修改基于的内容和远端不同不能强行推。 解决方法1:通过换基的方法解决,通过将当前的修改的旧版换到最新的基上 解决方法2: 暴力覆盖 原因:conda和pip等相关包的版本太低,自动更新不能用,解决方案:在命令行中输入以下命令 指定虚拟环境x的python版本是3.8,base环境是3.11;conda
-activate激活x之后python版本仍为3.11。 原因:在base环境中修改了.zshrc文件中的python只定路径,让每次虚拟环境中的python找到的python都只能按照指定的python路径进行寻找,从而导致conda环境中的python版本不能制定。 修改方式: 进入
-.zshrc环境中进行修改,如果发现一类诸如其他python版本指定的路径的话,需要进行删除,只需要保留最原始的关于anaconda的命令初始化,完成之后输入 解决问题 在conda环境中改变默认的下载镜像源 加上这句话之后就会出现以下的写文件 下载使用清华源加上: -i
-https://pypi.tuna.tsinghua.edu.cn/simple 清华: 阿里云: 中国科技大学
-: 豆瓣: 如果是给conda添加镜像:清华源 添加阿里源 查看已经添加的镜像源 移除其中的指定的镜像源 Git
+是一个版本控制系统,是任何软件开发项目中的主要内容。通常有两个主要用途:代码备份和代码版本控制。使用Git可以逐步处理代码,在需要回滚到备份副本的过程中保存每一步的进度。 直接上官网下载安装 https://link.zhihu.com/?target=https%3A//git-scm.com/download 或者MAC使用brew对git进行安装 当完成上述的配置之后,就能开始初始化Git仓库,进入需要创建工作区workspace的文件夹输出git初始化的操作 创建一个名为 .git
+的新子目录(该目录为隐藏的),其中包含所有必需的存储库文件(Git
+存储库框架);注意区分工作区和暂存区,在没有add之前我们都是在工作区 【Vscode】考虑Git
+graph插件来可视化git分支目录的全貌 根据需要可以设置为公有的或者是私有的,最好不要设置README.md,因为初始化的国过程可能会出现冲突,设置也没关系 获取本地的SSH公钥匙,打开终端并输入 进入.ssh中复制id_rsa.pub中的内容,并在Github中的如下位置复制改内容添加SSH🔗 完成连接之后再配置git的相关内容 首先进行初始化设置,使当前文件夹能够使用git 如果一开始没有设置README.md文件那么执行 以上这些步骤,就能将本地的git和远端的仓库进行关联 当然会出现本地和远端关联失败的情况,产生的原因可能如下: 在默认情况下, 通过以下命令查看远端和本地的分支,并选择合适的 如果本地初始化的内容和远端的内容不一样,那么无法判断本地和远端的内容差异,因此需要选择如下之一 直接将远端的内容覆盖到本地 强行将本地的内容覆盖到远端,那么就能形成统一,从而完成链接。 执行上述命令之后将会将当前的file或者是工作区中的所有文件都上传到暂存区 上述的命令是将本次的提交添加描述,分布式协作的时候能看清 查看默认配置 查看当前所在的分支位置信息 查看当前分支下的更改日志 将本地暂存区中的更改内容推送到远端 将远端所在的分支内容拉到本地 更新所在分支的最新内容 获取git连接git@ XXX.git之后执行: 如果觉得git的内容太大,可以选择内部的分支进行下载 feature/xxx为具体的分支内容 查看分支 切换不同的分支 创建新的分支 创建新的分支并切换到上面 问题描述:如果当前修改的版本基于旧版,但是远端已经是新版origin/master,此时修改基于的内容和远端不同不能强行推。 解决方法1:通过换基的方法解决,通过将当前的修改的旧版换到最新的基上 解决方法2: 暴力覆盖 学习网站:8小时转职Golang工程师 go的官网下载网站,选择合适的系统版本进行安装https://go.dev/dl/ 下载安装包并按照安装包的指引下载相关的内容 对于Mac系统会直接配置好环境变量,根据官网的安装手册进行安装 https://go.dev/doc/install 测试GO的版本 测试GO的环境变量 GOROOT 表示的是安装包所在的位置,一般不需要修改 GOPATH表示的是运行文件所在的位置,表示的是workspace的文件位置,里面新建三个文件夹:bin
+pkg src,src一般用来表示工程文件所在的位置 修改GOPATH的路径 将文件查找的路径设置为GOROOT和GOPATH的并集合 注意这个地方不能将gomod设置为on,否则有问题 将两个部分并在一起之后,就能从两个地方开始寻找定义的包 首先会从GOROOT进行搜索,接着从GOPATH进行搜索 对于已经写好的go文件,这里以hello.go作为例子,直接使用以下语句进行编译并运行 或者将编译和运行两个过程分开,先编译后运行: 首先给出基本框架 程序的第一行声明了名为main的package。一个package会包含一个或多个.go源代码文件。每一个源文件都是以package开头。比如我们的例子里是package
+main。这行声明语句表示该文件是属于哪一个package。 同时需要注意,一个程序的 多个返回值初始化设置了函数的形参之后,初始值是0 go每次设置一个变量值之后都有初始值,如果是数据就是0,如果是字符串那么就是空,防止出现一些野指针的情况 分别建不同的文件夹对应的就是package的名字,相应的在.go文件内部声明package的名字 注意:
+在包中设置接口的时候,函数名称必须第一个字母是大写,如果是小写的话将无法识别 如果函数名第一个是大写就是对外开放的函数,认为是public 如果函数名第一个是小写的话就认为是私有的函数,认为是private init函数的调用过程,首先会对包中的init进行初始化再进行调用接口 如果你导入了包比如lib1,但是没有使用这个包里面的接口函数,仍然会报错 但是如果我不想调用lib1的函数接口,但是想使用lib1的init()函数怎么办呢,如果这个时候直接导入了包
+但是不调用接口,就会出现上述的错误 匿名导包方式 在导入的包前面加上下划线来认为这个包是匿名的,这样就能知进行init操作 给新导入的包起个别的名字,比如叫mylib作为新的别名 或者直接使用·来进行调用 最好别使用这种,如果两个包的函数名称一样那么可能会导致出现歧义的情况 和C++以及C中的是一样的 定义的时候 *int 传递变量的地址& 通过这种方式进行初始化数组以及进行切片操作,通过range关键字进行遍历数组,并给出index和value进行给出不同的下标和数值 固定数组传递的是一个值拷贝 动态数组 slice 但是动态数组或者是说切片是一个引用传递 同时动态数组传递的过程中的参数形式是一致的,能够适配所有的slice参数类型,但是对于 这里面的下划线表示的是不需要考虑的index的数值,可以忽略 这里是关于切片slice的声明和打印 打印的结果是 声明slice但是不一定声明了空间,因此需要注意的是声明的同时并给出空间大小,同时没办法中途增加空间 注意if else的格式有要求 关于切片的截取操作 变量结构 原因:conda和pip等相关包的版本太低,自动更新不能用,解决方案:在命令行中输入以下命令【基础工具】Git命令集
Git的安装与配置
+安装Git
+1
brew install git
查看Git中的配置
-1
git config --list
1
2
3git config --list
git config --global user.email test@163.com
git config --global user.name test检查是否安装成功
+1
git version
Git的基本控制
初始化Git仓库
初始化Git仓库
1
2
3git config --global user.email test@163.com
git config --global user.name test1
2git config --global user.email test@163.com
git config --global user.name test本地工作区的设置
1
git init
GPU运行指定
diff --git a/index.html b/index.html
index 07d9723..d59c62f 100644
--- a/index.html
+++ b/index.html
@@ -318,10 +318,10 @@
@@ -407,7 +407,7 @@
Git的安装与配置
查看Git中的配置
1
git config --list
Git的基本控制
初始化Git仓库
1
2cd workspace
git init在Github端新建仓库
1
ssh-keygen -t rsa -C "youremail@example.com"
1
2
3git config --global user.email test@163.com
git config --global user.name test本地工作区的设置
1
git init
1
2
3
4
5git add README.md
git commit -m "first commit"
git branch -M master
git remote add origin git@github.com.....git
git push -u origin master本地和远端关联失败
git push
时一般会上传到origin
下的master
分支上,当repository和branch过多,又没有设置关联时,git就会产生疑问1
2git branch //本地
git branch -a //远端1
git reset --hard origin/master
1
git push -f -u origin master
添加文件和备注
1
2git add .
git add <file>1
2
3git commit -m"【test】XXX更改信息提示"
#如果多次提交想覆盖到同一个提交的备注上执行下面
git commit --amend状态与日志
1
git config --list
1
git status
1
git log
推送与拉取
1
2git push
git push -f #强行推出1
git pull
1
git fetch --all
复制分支
1
git clone git@ XXX.git
1
git clone -b feature/xxx git@ XXX.git
分支操作
1
2git branch -a #查看所有的分支
git branch -r #查看远端的分支1
git checkout [branch] #切换到分支
1
git branch [branch] #创建新的分支
1
git checkout -b [branch] #创建并切换新的分支
分支冲突
1
2
3
4
5
6
7
8
9
10
11
12
13
14#先将文件提交到暂存区
git add . #保存在暂存区
git commit -m "XXX"
#进行换基操作
git rebase -i origin/master
#再次提交
git add .
#继续换基
git rebase --continue
#换基成功后,只需要一次备注(覆盖)
git commit --amend
#最后退出
git push
git push -f #或者强行推出1
2
3
4
5git fetch --all #获取远端的全部内容
git reset --hard origin/master #强行将远端的内容覆盖到本地的文件中
git commit --amend
git push -f #强行推出Git的安装与配置
安装Git
1
brew install git
查看Git中的配置
1
2
3git config --list
git config --global user.email test@163.com
git config --global user.name test检查是否安装成功
1
git version
Git的基本控制
初始化Git仓库
1
2cd workspace
git init在Github端新建仓库
1
ssh-keygen -t rsa -C "youremail@example.com"
1
2git config --global user.email test@163.com
git config --global user.name test本地工作区的设置
1
git init
1
2
3
4
5git add README.md
git commit -m "first commit"
git branch -M master
git remote add origin git@github.com.....git
git push -u origin master本地和远端关联失败
git push
时一般会上传到origin
下的master
分支上,当repository和branch过多,又没有设置关联时,git就会产生疑问1
2git branch //本地
git branch -a //远端1
git reset --hard origin/master
1
git push -f -u origin master
添加文件和备注
1
2git add .
git add <file>1
2
3git commit -m"【test】XXX更改信息提示"
#如果多次提交想覆盖到同一个提交的备注上执行下面
git commit --amend状态与日志
1
git config --list
1
git status
1
git log
推送与拉取
1
2git push
git push -f #强行推出1
git pull
1
git fetch --all
复制分支
1
git clone git@ XXX.git
1
git clone -b feature/xxx git@ XXX.git
分支操作
1
2git branch -a #查看所有的分支
git branch -r #查看远端的分支1
git checkout [branch] #切换到分支
1
git branch [branch] #创建新的分支
1
git checkout -b [branch] #创建并切换新的分支
分支冲突
1
2
3
4
5
6
7
8
9
10
11
12
13
14#先将文件提交到暂存区
git add . #保存在暂存区
git commit -m "XXX"
#进行换基操作
git rebase -i origin/master
#再次提交
git add .
#继续换基
git rebase --continue
#换基成功后,只需要一次备注(覆盖)
git commit --amend
#最后退出
git push
git push -f #或者强行推出1
2
3
4
5git fetch --all #获取远端的全部内容
git reset --hard origin/master #强行将远端的内容覆盖到本地的文件中
git commit --amend
git push -f #强行推出Git的安装与配置
-查看Git中的配置
-git config --list
Git的基本控制
-初始化Git仓库
-cd workspace
git init
-
-在Github端新建仓库
-
-本地的Git和远端github的连接
-ssh-keygen -t rsa -C "youremail@example.com"
git config --global user.email test@163.com
git config --global user.name test本地工作区的设置
-git init
git add README.md
git commit -m "first commit"
git branch -M master
git remote add origin git@github.com.....git
git push -u origin master本地和远端关联失败
+Conda 常用命令
+查看conda版本
+conda --version/ conda -V
查看已有环境
+conda info --envs
conda env list
conda info -e进退环境
+conda activate [name]# 重新进入虚拟环境
conda deactivate # 退出虚拟环境创建新的环境
+conda create -n *** python=0
删除环境
+conda remove -n old_name --all # 删除环境old_name
激活环境
+conda activate xxxx # 激活xxxx环境
关闭环境
+conda deactivate # 关闭环境
克隆环境
+conda create -n [new_name] --clone [old_name]
升级版本
+conda update -n base conda #update最新版本的conda;
conda update --all #更新所有包Pip管理的常用包
+pip search package_name
pip show package_name
pip uninstall||package_name
pip list删除环境中的包
+conda remove package #删除当前环境中的包
conda remove -- name env_name package #删除指定环境中的包指定环境中安装包
+conda install --name env_name package_name
Conda环境的python版本非指定
+vim .zshrc
source ~/.zshrc
镜像源安装
+pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
Writing to /home/user/.config/pip/pip.conf
+
+https://pypi.tuna.tsinghua.edu.cn/simple/
http://mirrors.aliyun.com/pypi/simple/
https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/
http://pypi.doubanio.com/simple/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64/
conda config --add channels https://mirrors.aliyun.com/pypi/simple/
conda config --show channels
conda config --remove channels + 镜像的名称
Conda无法自动更新
-
-
-git push
时一般会上传到origin
下的master
分支上,当repository和branch过多,又没有设置关联时,git就会产生疑问git branch //本地
git branch -a //远端git reset --hard origin/master
git push -f -u origin master
添加文件和备注
-git add .
git add <file>git commit -m"【test】XXX更改信息提示"
#如果多次提交想覆盖到同一个提交的备注上执行下面
git commit --amend状态与日志
-git config --list
git status
git log
推送与拉取
-git push
git push -f #强行推出git pull
git fetch --all
复制分支
-git clone git@ XXX.git
git clone -b feature/xxx git@ XXX.git
分支操作
-git branch -a #查看所有的分支
git branch -r #查看远端的分支git checkout [branch] #切换到分支
git branch [branch] #创建新的分支
git checkout -b [branch] #创建并切换新的分支
分支冲突
-#先将文件提交到暂存区
git add . #保存在暂存区
git commit -m "XXX"
#进行换基操作
git rebase -i origin/master
#再次提交
git add .
#继续换基
git rebase --continue
#换基成功后,只需要一次备注(覆盖)
git commit --amend
#最后退出
git push
git push -f #或者强行推出git fetch --all #获取远端的全部内容
git reset --hard origin/master #强行将远端的内容覆盖到本地的文件中
git commit --amend
git push -f #强行推出conda clean --all
conda update --allConda 常用命令
-查看conda版本
-conda --version/ conda -V
查看已有环境
-conda info --envs
conda env list
conda info -e进退环境
-conda activate [name]# 重新进入虚拟环境
conda deactivate # 退出虚拟环境创建新的环境
-conda create -n *** python=0
删除环境
-conda remove -n old_name --all # 删除环境old_name
激活环境
-conda activate xxxx # 激活xxxx环境
关闭环境
-conda deactivate # 关闭环境
克隆环境
-conda create -n [new_name] --clone [old_name]
升级版本
-conda update -n base conda #update最新版本的conda;
conda update --all #更新所有包Pip管理的常用包
-pip search package_name
pip show package_name
pip uninstall||package_name
pip list删除环境中的包
-conda remove package #删除当前环境中的包
conda remove -- name env_name package #删除指定环境中的包指定环境中安装包
-conda install --name env_name package_name
Conda环境的python版本非指定
-vim .zshrc
source ~/.zshrc
镜像源安装
-pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
Writing to /home/user/.config/pip/pip.conf
-
-https://pypi.tuna.tsinghua.edu.cn/simple/
http://mirrors.aliyun.com/pypi/simple/
https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/
http://pypi.doubanio.com/simple/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64/
conda config --add channels https://mirrors.aliyun.com/pypi/simple/
conda config --show channels
conda config --remove channels + 镜像的名称
Conda无法自动更新
+Git的安装与配置
+安装Git
+brew install git
查看Git中的配置
+git config --list
git config --global user.email test@163.com
git config --global user.name test检查是否安装成功
+git version
Git的基本控制
+初始化Git仓库
+cd workspace
git init
+
+在Github端新建仓库
+
+本地的Git和远端github的连接
+ssh-keygen -t rsa -C "youremail@example.com"
git config --global user.email test@163.com
git config --global user.name test本地工作区的设置
+git init
git add README.md
git commit -m "first commit"
git branch -M master
git remote add origin git@github.com.....git
git push -u origin master本地和远端关联失败
+
+
+
+git push
时一般会上传到origin
下的master
分支上,当repository和branch过多,又没有设置关联时,git就会产生疑问git branch //本地
git branch -a //远端git reset --hard origin/master
git push -f -u origin master
添加文件和备注
+git add .
git add <file>git commit -m"【test】XXX更改信息提示"
#如果多次提交想覆盖到同一个提交的备注上执行下面
git commit --amend状态与日志
+git config --list
git status
git log
推送与拉取
+git push
git push -f #强行推出git pull
git fetch --all
复制分支
+git clone git@ XXX.git
git clone -b feature/xxx git@ XXX.git
分支操作
+git branch -a #查看所有的分支
git branch -r #查看远端的分支git checkout [branch] #切换到分支
git branch [branch] #创建新的分支
git checkout -b [branch] #创建并切换新的分支
分支冲突
+#先将文件提交到暂存区
git add . #保存在暂存区
git commit -m "XXX"
#进行换基操作
git rebase -i origin/master
#再次提交
git add .
#继续换基
git rebase --continue
#换基成功后,只需要一次备注(覆盖)
git commit --amend
#最后退出
git push
git push -f #或者强行推出git fetch --all #获取远端的全部内容
git reset --hard origin/master #强行将远端的内容覆盖到本地的文件中
git commit --amend
git push -f #强行推出Go的环境安装
+下载官网:
+安装步骤:
+
+
+go version
go env
go语言没有异常,全部都用ERROR来表示
+export GOPATH="/Users/lihaibin/workspace/golang"
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Go基本语法
+如何编译并运行一个Go文件
+go run hello.go
go build hello.go
./ hellohello.go
+package main
import(
"fmt",
"time"
)
func main(){
fmt.Println("hello world!")
time.Sleep(1*time.Second)
}main
入口函数必须不带任何输入参数和返回结果参数
+函数
+import和init
+
+GO指针
+数组与切片
+ //声明切片之后的长度是3,同时初始化的值是1,2,3
slice1 :=[]int{1,2,3}
//%v表示的是打印出全部的表示信息
fmt.Printf("len = %d, slice =%v\n", len(slice1),slice1)
}package main
import (
"fmt"
)
func main(){
/*
声明切片之后的长度是3,同时初始化的值是1,2,3
*/
slice1 :=[]int{1,2,3}
//%v表示的是打印出全部的表示信息
fmt.Printf("len = %d, slice =%v\n", len(slice1),slice1)
//直接对没有赋予空间的位置修改会出现位置越界
//slice1[3]=999
slice1 = make([]int,4)
//但是这个时候就只会重新赋予空间并复制0
fmt.Printf("len = %d, slice =%v\n", len(slice1),slice1)
/*
声明slice是切片,但是没有分配空间
*/
var slice2 []int
fmt.Printf("len = %d, slice =%v\n", len(slice2),slice2)
//slice2[0]=2 //直接赋予数值会出现错误,越界
slice2 = make([]int,3)
//开辟空间,但是默认值都是0
fmt.Printf("len = %d, slice =%v\n", len(slice2),slice2)
slice2[0]=1000
fmt.Printf("len = %d, slice =%v\n", len(slice2),slice2)
//此时就修改成功
/*
声明slice类型,同时分配空间
*/
var slice3 =make([]int,5)
fmt.Printf("len = %d, slice =%v\n", len(slice3),slice3)
/*
判断一个slice切片是不是为0
*/
if slice1 == nil{
fmt.Println("slice1 is null")
}else{
fmt.Println("slice1 is not null")
}
}/*
切片的截取
*/
var slice6 = make([]int,3)
slice6[0]=1
slice6[2]=33
fmt.Printf("len = %d, cap = %d, slice =%v\n", len(slice6), cap(slice6), slice6)
//截取的过程中是左闭右开
s1:=slice6[0:2]
// s1:=slice6[:]//表示截取全部
fmt.Println(s1)
//注意此时的s1的地址和slice6的位置一样了
//copy
var s2 = make([]int,3)
copy(s2,slice6)
fmt.Println(s2)// 只会从头开始截取s2长度的,如果长了那么就是0,
//否则就是选择slice6中相同长度的元素,从左到右边map的操作
+反射
+conda clean --all
conda update --all
学习网站:8小时转职Golang工程师
-go的官网下载网站,选择合适的系统版本进行安装https://go.dev/dl/
-下载安装包并按照安装包的指引下载相关的内容
对于Mac系统会直接配置好环境变量,根据官网的安装手册进行安装 https://go.dev/doc/install
测试GO的版本
-
|
测试GO的环境变量
-
|
GOROOT 表示的是安装包所在的位置,一般不需要修改
-GOPATH表示的是运行文件所在的位置,表示的是workspace的文件位置,里面新建三个文件夹:bin -pkg src,src一般用来表示工程文件所在的位置
-修改GOPATH的路径
-
|
将文件查找的路径设置为GOROOT和GOPATH的并集合
-
|
注意这个地方不能将gomod设置为on,否则有问题
-将两个部分并在一起之后,就能从两个地方开始寻找定义的包
- -首先会从GOROOT进行搜索,接着从GOPATH进行搜索
- -对于已经写好的go文件,这里以hello.go作为例子,直接使用以下语句进行编译并运行
-
|
或者将编译和运行两个过程分开,先编译后运行:
-
|
首先给出基本框架
-
|
程序的第一行声明了名为main的package。一个package会包含一个或多个.go源代码文件。每一个源文件都是以package开头。比如我们的例子里是package -main。这行声明语句表示该文件是属于哪一个package。
-同时需要注意,一个程序的main
入口函数必须不带任何输入参数和返回结果
多个返回值初始化设置了函数的形参之后,初始值是0
-go每次设置一个变量值之后都有初始值,如果是数据就是0,如果是字符串那么就是空,防止出现一些野指针的情况
-分别建不同的文件夹对应的就是package的名字,相应的在.go文件内部声明package的名字
-注意: -在包中设置接口的时候,函数名称必须第一个字母是大写,如果是小写的话将无法识别
-如果函数名第一个是大写就是对外开放的函数,认为是public
-如果函数名第一个是小写的话就认为是私有的函数,认为是private
- -init函数的调用过程,首先会对包中的init进行初始化再进行调用接口
- -如果你导入了包比如lib1,但是没有使用这个包里面的接口函数,仍然会报错
- -但是如果我不想调用lib1的函数接口,但是想使用lib1的init()函数怎么办呢,如果这个时候直接导入了包 -但是不调用接口,就会出现上述的错误
-匿名导包方式
-在导入的包前面加上下划线来认为这个包是匿名的,这样就能知进行init操作
- - -给新导入的包起个别的名字,比如叫mylib作为新的别名
- -或者直接使用·来进行调用
- -最好别使用这种,如果两个包的函数名称一样那么可能会导致出现歧义的情况
-和C++以及C中的是一样的
-定义的时候 *int 传递变量的地址&
- - -通过这种方式进行初始化数组以及进行切片操作,通过range关键字进行遍历数组,并给出index和value进行给出不同的下标和数值
- -固定数组传递的是一个值拷贝
-动态数组 slice
-但是动态数组或者是说切片是一个引用传递
-同时动态数组传递的过程中的参数形式是一致的,能够适配所有的slice参数类型,但是对于
- - -这里面的下划线表示的是不需要考虑的index的数值,可以忽略
-这里是关于切片slice的声明和打印
-
|
打印的结果是
- -声明slice但是不一定声明了空间,因此需要注意的是声明的同时并给出空间大小,同时没办法中途增加空间
-
|
注意if else的格式有要求
- - - -关于切片的截取操作
-
|
变量结构
- -]]>