今天使用
go get
命令下载包的时候,最开始因为自己上传到GitHub上的
module
名称有误,没有声明为
github.com/xx/xx
格式,后来修改之后重新
push
了一下,但是
go get
还是之前的
commit
的版本,这种情况下我们使用下面的命令即可
// 这里以github.com为例,当然其他的仓库也是可以的
go get github.com/xxx/xxx@commit-id
commit-id可以在本地查看,使用git log
或者git reflog
均可,也可以在网上仓库上查看,GitHub而言,直接到仓库中就可以查看到了,这里不在赘述
今天使用go get命令下载包的时候,最开始因为自己上传到GitHub上的module名称有误,没有声明为github.com/xx/xx格式,后来修改之后重新push了一下,但是go get还是之前的commit的版本,这种情况下我们使用下面的命令即可// 这里以github.com为例,当然其他的仓库也是可以的go get github.com/xxx/xxx@commit-idcommit-id可以在本地查看,使用git log或者git reflog均可,也可以在网上仓库上查看,GitHub
使用这些钩子
将此添加到您的.pre-commit-config.yaml
- repo: git://github.com/joker8023/pre-commit-golang
rev: master
hooks:
- id: go-fmt
- id: go-vet
- id: go-lint
- id: go-imports
- id: go-cyclo
args: [-over=15]
- id: validate-toml
- id: no-go-testing
- id: gometalinter
- id: golangci-lint
- id: go-critic
- id: go-unit-tests
或观看的。
pre-commit-go正在大力发展。 如果您打算将其用作CI的一部分,请确保固定您的版本或密切跟踪它。 我们最终会解决并保持向后兼容性,但是该工具还不成熟,因此现在就出售即可。
go get github.com
Versionizer是一个命令行工具,可帮助基于git活动自动生成版本号。
版本号以以下格式生成
[Year].[CalendarWeek].[CommitCountInCurrentCalendarWeek]
e.g. 2021.11.3
-t,--type
版本号的输出类型:编号/代码
-p,--path
GIT存储库的路径,默认为工作目录
go获取最新的代码库
go get是go开发者非常常用的命令,在gomodule模式下,go代码在pkg/mod进行了统一管理。当我们使用IDE时,尽量使用go get下载go程序。因为IDE,如vscode的代码跳转和解析都依赖gopath和go mod的代码,不使用go get命令,便需要开发者自已进行代码结构的创建,git clone并不会把父路径进行创建,也不会将代码自动放到go的代码有效路径上。
作为开发者,这种程序管理的要求是应该遵守的。但是go get 比较奇怪的一点是,不会clone最新版本
go get [-d] [-t] [-u] [-v] [-insecure] [build flags] [packages]
Get 将其命令行参数解析为特定模块版本的包,更新 go.mod 以要求这些版本,将源代码下载到模块缓存中,然后构建并安装指定的包。
要为包添加依赖项或将其升级到最新版本:
go get example.com/pkg
要将软件包升级或降级到特定版本:
go get example.com/pkg@v1.2.3
要删除对模块的依赖并降级需要它的模块:
go ge
文章目录Go git commit 规范指南(Angular 规范)前言Angular规范简介有什么好处?快速知道某次 commit 的目的方便过滤可以直接从commit生成Change log其他优点Angular规范规范构成HeadertypescopesubjectBodyFooter不兼容变动关闭 IssueRevert实用工具Commitizen安装validate-commit-msg生成 Change log参考
Go git commit 规范指南(Angular 规范)
根据原文:git
首先我们介绍过go mod edit修改go.mod,然而它有两点缺陷:
首先是它的-require必须接受“package@version”这种形式,缺一不可,而且不能识别文档规定的master和latest标志。
其次是edi...
一般公司都会有自己的私有框架或者公共函数库,这些大都会部署在公司私有的gitlab上
通过配置 GOPRIVATE 可以使 go-get 不走代理而直接访问私有库,但是 go get 默认会使用https 去请求私库
私有库不支持https, 仅支持 http
私库端口号不是默认80端口
# 如果80端口被占用或者考虑到暴露80端口可能存在被攻击的风险,通常代码仓库可能不会用默认端口。
# go get 拉取仓库代码时不允许加端口号,不是默认端口时会报 unknown import pa
在使用go mod的过程中,发现不容易指定版本号
尤其是没有打tag的,不知道怎么指定版本号, 不知道有哪版本号
正常使用都没有问题,但是当引用的项目用了旧的代码, 这时候必须使用旧的版本,无法指定版本,不知道如何入手
尤其是k8s.io不知道是什么鬼, 从哪里看它的代码,只知道github.com
这个时候在 go.mod文件中 require 里面加上 github.com/kuberne...
其中 `<commit_id>` 是要撤销的 commit 的 SHA-1 标识符。这个命令会创建一个新的 commit,将指定的 commit 的修改内容撤销掉。
如果您想要删除指定的 commit,可以使用以下命令:
git rebase -i <commit_id>^
其中 `<commit_id>` 是要删除的 commit 的 SHA-1 标识符。这个命令会打开一个交互式的界面,您需要将要删除的 commit 的行前面的 `pick` 改为 `drop`,保存并关闭文件。然后 Git 会删除指定的 commit,并将后续的 commit 重新编号。
注意,如果这些 commit 已经 push 到了远程仓库,推荐使用 revert 命令来撤销 commit,而不是直接删除 commit。因为删除 commit 会破坏 Git 历史记录,可能会影响其他开发人员的工作。