既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
git clone git@xxx.net:/git-repo3.git
cd git-repo3/
mkdir ~/bin/
cp repo ~/bin/repo3
chmod a+x ~/bin/repo3
### 定制repo2/repo3源码
repo每次都会拉取更新最新的repo版本,但是很多内容的更新,并不一定对我们普通工程师有影响。
所以,提出了一个大胆的想法,将repo单独领出来,建一个自己的仓库,而不去goole的源码地址拉取,不然国内老提示无法访问。
以下是本人的仓库
https://github.com/KingofHubGit/git-repo2
https://github.com/KingofHubGit/git-repo3
对于google官方的源码做了以下几处修改:
* 修改每次拉取的源为我自己的github地址:
REPO_URL = “git@github.com:KingofHubGit/git-repo3.git”
* 修改每次拉取的源为我自己的github分支:
REPO_REV = “main”
由于早期项目都是默认master分支,现在改为main分支了。所以此处要更新。
* 使用repo过程中,发现python脚本不对,我们就会使用以下命令:
sudo update-alternatives --config python
如果老是切换python版本,这样会影响别人,影响android源码的编译
所以针对于repo3,将python环境变量改为
#!/usr/bin/env python3
针对于repo2,将python环境变量改为
#!/usr/bin/env python2
* 虽然github国内可以访问,也经常抽搐,可以改成gitee。
最根本的方法是直接不要再拉取最新的源码啦!
默认关闭拉取源码:
group.add_option(
“–no-repo-verify”,
dest=“repo_verify”,
default=False,
action=“store_false”,
help=“do not verify repo source code”,
)
def check\_repo\_verify(repo_verify=False, quiet=False):
### 自动识别repo2/repo3项目
有了上面的定制化修改,不用再切换python版本啦!
但如果项目A的源码用repo2, 项目B的源码用了repo3,那可咋整啊,每次repo2和repo3要改来改去,最初的repo呢?
针对于这个,这里提出了一个妙招:
可以在`~/.bashrc`下面增加一个repo的函数方法,用于判断识别项目是repo2还是repo3,然后调用对应的repo:
repo(){
#echo "KaTeX parse error: Expected 'EOF', got '#' at position 5: @" #̲确认已经是repo项目了 …is_repo2
if [ “$is_repo2” == “1” ];then
echo “repo2 working”
#调用~/bin/repo2
eval "~/bin/repo2 $@ "
else
echo “repo3 working”
#调用~/bin/repo3
eval “~/bin/repo3 $@”
fi
else
#默认使用~/bin/repo3
echo “repo3 working”
eval “~/bin/repo3 $@”
fi
}
### 完整解决方案:
* 拉取repo2
git clone git@github.com:KingofHubGit/git-repo2.git
cd git-repo2/
mkdir ~/bin/
PATH=~/bin:$PATH
cp repo ~/bin/repo2
chmod a+x ~/bin/repo2
* 拉取repo3
git clone git@github.com:KingofHubGit/git-repo3.git
cd git-repo3/
mkdir ~/bin/
PATH=~/bin:$PATH
cp repo ~/bin/repo3
chmod a+x ~/bin/repo3
* 将代码块添加到`~/.bashrc`下面
repo(){
if [ -f “./.repo/repo/repo” ]; then
is_repo2=grep 'MIN\_PYTHON\_VERSION.\*2,' ./.repo/repo/repo | wc -l
#echo "is_repo2=“
i
s
_
r
e
p
o
2
i
f
[
"
is\_repo2 if [ "
is_repo2if["is_repo2” == “1” ];then
echo “repo2 working”
eval "~/bin/repo2 $@ "
else
echo “repo3 working”
eval “~/bin/repo3 $@”
fi
else
echo “repo3 working”
eval “~/bin/repo3 $@”
fi
}
* 重新加载环境
source ~/.bashrc
* 实践出真知:
拉取repo项目,默认使用repo3
![image-20240309183238623](https://img-blog.csdnimg.cn/img_convert/9857c2cd742594e4d122f71e31a08e9b.png)
这里是一个repo2项目:
![image-20240309183547838](https://img-blog.csdnimg.cn/img_convert/0d8194e4cde0d207abb6be70c8324b5d.png)
从所未有的干净清爽!
![img](https://img-blog.csdnimg.cn/img_convert/6b503449e8a386b5402c7e9910cfd997.png)
![img](https://img-blog.csdnimg.cn/img_convert/6747106c5d896908c61fa144ffe52cda.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**