golang項(xiàng)目fork的問題

問題

4月份換了一份工作,新工作是使用golang開發(fā)。當(dāng)我在代碼倉庫中fork了一份代碼準(zhǔn)備在自己的repo中開發(fā)時(shí),發(fā)現(xiàn)golang的fork的問題。

源repo:example.com/group/tool.git
fork后: example.com/my/tool.git

于是我使用 go get example.com/my/tool 來下載我的repo準(zhǔn)備工作時(shí)發(fā)現(xiàn),GOPATH下面依然有group/tool。原因當(dāng)然是代碼中import包的時(shí)候都是這么使用的:

import "example/group/tool/module"

于是我如果要正常運(yùn)行的話就得把上面改成:

import "example/my/tool/module"

然后開發(fā)完做pull request前又得改回來。這顯然不是正確的工作方式。

解決

有這個(gè)問題之后上網(wǎng)搜了一下,顯然不是只有我一個(gè)人有這個(gè)問題。這篇文章這種情況應(yīng)該怎么做,簡(jiǎn)單總結(jié)一下。

1. fork repo

先fork,得到一個(gè)自己的repo : example.com/my/tool.git

2. 下載源repo 代碼

go get  example.com/group/tool"

這時(shí)候你的GOPATH中已經(jīng)把所有的代碼和依賴都下載下來了。

3. 添加remote

進(jìn)入項(xiàng)目的目錄中,為git repo添加remote

cd $GOPATH/src/example.com/group/tool
git remote add fork example.com/my/tool.git

4. push

在前面步驟做完之后,就可以進(jìn)行代碼修改了,修改之后按照下面的方式push:

git push fork

參考

  1. http://blog.campoy.cat/2014/03/github-and-go-forking-pull-requests-and.html
  2. https://splice.com/blog/contributing-open-source-git-repositories-go/
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容