一、源代码管理的必要性
源代码管理可以降低对具体人员的依赖、隆低灾难恢复代价、利于代码审查、减少交接代价、利于团队整体水平提升、利于团队协作开发、利于追踪项目更改、利于快速解决各类小bug
、利于重大更新的分支开发、利于新技术的尝试和旧版本的回溯、利于整体代码风格的统一。
二、Github简介
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。Github拥有1亿以上的开发人员,400万以上组织机构和3.3亿以上资料库,是全球最大的社交编程及代码托管网站。GitHub有170万名软件开发人员的忠实用户,他们平均每天更新8万个并新建7千个软件库。对GitHub网站上托管的总计超过300万个软件库,其联合创始人Chris Wanstrath曾经形象地称其为“程序员的维基百科全书"。
三、Github特性
从代码自动化到云:使用GitHub Actions通过GitHub Packages和内置CICD更快地循环生产代码并简化工作流。自动化工作流:在管理代码的同一个位置以所需方式生成、测试、部署和运行CICD。从任何GitHub事件到任何可用API触发Actions。使用所选语言生成Actions,或从社区创建的数千个工作流和Actions 中进行选择。带有代码的家庭包:使用Actions将新的包版本自动发布到GitHub Packages。在CICD工作流中安装托管在GitHubPackages或首选包注册表上的包和映像。它对于开放源代码始终免费,Actions 内的数据传输对所有人都无限制。查找其他工具忽略的漏洞、更快地识别安全漏洞、自动更新漏洞和获取有关代码中漏洞的警报:GitHub持续扫描常用语言的安全建议。此外,此功能还会向受影响的存储库的维护人员发送安全警报,并提供详细信息,以便他们能够修正风险,共同保护软件安全。消除变体:永远不会再犯相同的错误。确保令牌安全。
四、Github常用操作
1.Github工作流程
git有四个区域:
· 3个本地区域
a.工作区(Workspace):存放项目代码的地方。
b.暂存区(Stage):存放临时的改动,事实上它只是一个文件,保存即将提交的文件列表信息。
c.资源库(Repository):安全存放数据的位置,这里面有提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。
· 1个远程区域
远程库(Remote):托管代码的服务器。
2.Github初始化
$ mkdir git-study && cd git-study $ git init $ ls -la total 0 drwxr-xr-x 3 kino staff 96 11 23 17:18 . drwxr-xr-x 16 kino staff 512 11 23 17:18 .. drwxr-xr-x 9 kino staff 288 11 23 17:18 .git
3.Git配置相关常用命令
查看 Git 配置
$ git config --list credential.helper=osxkeychain user.name=kino user.email=kino@gmail.com core.autocrlf=input core.quotepath=false core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true core.ignorecase=true core.precomposeunicode=true
修改 Git 配置文件
$ git config -e # 针对当前仓库 $ git config -e --global # 针对系统上的所有仓库
设置提交代码时的用户信息
$ git config --global user.name "yourUserName" # 去掉 --global 就只对当前仓库生效 $ git config --gloabl user.email "yourEmail" # 去掉 --global 就只对当前仓库生效
4.Git日常操作
5.Git高级操作
bigdata-learning-notes/git常用操作.md at master · KinoMin/bigdata-learning-notes · GitHub
6.参与开源项目
bigdata-learning-notes/git常用操作.md at master · KinoMin/bigdata-learning-notes · GitHub
五、使用Github的注意点
1.注意操作流程,养成提交前进行更新的习惯,确认处理完冲突再进行代码提交;
2.注意自己提交的代码可能对其他人造成的影响,尽量不提交无法编译通过的代码,特别是多人协作开发同一项目时;3.提交代码时,积极撰写日志,有利于后期维护及他人理解本次代码修改范围;
4.排除诸如debug release obj等编译生成的文件,以集中注意力管理源代码;
5.优先使用IDE插件进行相关操作;
6.定期备份版本库,特别是进行重大更新计划时。