問題
4月份換了一份工作娄猫,新工作是使用golang開發(fā)步悠。當(dāng)我在代碼倉(cāng)庫(kù)中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
先f(wàn)ork产弹,得到一個(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