golang项目fork的问题
Jale · · 3312 次点击 · · 开始浏览问题
4月份换了一份工作,新工作是使用golang开发。当我在代码仓库中fork了一份代码准备在自己的repo中开发时,发现golang的fork的问题。
源repo:example.com/group/tool.git
fork后: example.com/my/tool.git
于是我使用 go get example.com/my/tool 来下载我的repo准备工作时发现,GOPATH下面依然有group/tool。原因当然是代码中import包的时候都是这么使用的:
import "example/group/tool/module"
于是我如果要正常运行的话就得把上面改成:
import "example/my/tool/module"
然后开发完做pull request前又得改回来。这显然不是正确的工作方式。
解决
有这个问题之后上网搜了一下,显然不是只有我一个人有这个问题。这篇文章这种情况应该怎么做,简单总结一下。
1. fork repo
先fork,得到一个自己的repo : example.com/my/tool.git
2. 下载源repo 代码
go get example.com/group/tool"
这时候你的GOPATH中已经把所有的代码和依赖都下载下来了。
3. 添加remote
进入项目的目录中,为git repo添加remote
cd $GOPATH/src/example.com/group/tool
git remote add fork example.com/my/tool.git
4. push
在前面步骤做完之后,就可以进行代码修改了,修改之后按照下面的方式push:
git push fork
参考
- http://blog.campoy.cat/2014/03/github-and-go-forking-pull-requests-and.html
- https://splice.com/blog/contributing-open-source-git-repositories-go/
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
问题
4月份换了一份工作,新工作是使用golang开发。当我在代码仓库中fork了一份代码准备在自己的repo中开发时,发现golang的fork的问题。
源repo:example.com/group/tool.git
fork后: example.com/my/tool.git
于是我使用 go get example.com/my/tool 来下载我的repo准备工作时发现,GOPATH下面依然有group/tool。原因当然是代码中import包的时候都是这么使用的:
import "example/group/tool/module"
于是我如果要正常运行的话就得把上面改成:
import "example/my/tool/module"
然后开发完做pull request前又得改回来。这显然不是正确的工作方式。
解决
有这个问题之后上网搜了一下,显然不是只有我一个人有这个问题。这篇文章这种情况应该怎么做,简单总结一下。
1. fork repo
先fork,得到一个自己的repo : example.com/my/tool.git
2. 下载源repo 代码
go get example.com/group/tool"
这时候你的GOPATH中已经把所有的代码和依赖都下载下来了。
3. 添加remote
进入项目的目录中,为git repo添加remote
cd $GOPATH/src/example.com/group/tool
git remote add fork example.com/my/tool.git
4. push
在前面步骤做完之后,就可以进行代码修改了,修改之后按照下面的方式push:
git push fork