Git
- 简介
- 什么是git
Git是一个开源的分布式版本控制系统,它的用途与SVN, CVS等版本控制系统一样,可以对文件进行版本管理(控制的对象是开发的项目代码)。Git是目前主流的版本控制系统,很多软件项目都会用它作为源代码管理工具。
代码开发时间轴:需求1 => 版本库1 ==> 需求2 => 版本库2 => 版本库3(版本库1) => 版本库4(版本库2)
让我们可以通过git回到某个版本
- git的作用
帮助开发者合并开发的代码,协同开发(代码管理,类似文件管理)
如果出现冲突代码的合并,会提示后提交合并代码的开发者,让其解决冲突
代码版本管理
- 分支管理
Git中比较最重要的一点就是分支的概念,有了分支就有了合并和衍合的操作,「合并」和「衍合」能够「有效的对代码版本的管理」。
Git的初始化中有一条默认的主分支叫做master,每一次的提交都会串成一条时间线,这就是一条分支,当前分支由HEAD指针指向:
当每次发生代码提交的时候,当前指向就会向前形成一个新的版本,假如再创建一个新的分支bran,并且当前的提交指向新的分支,这样新的分支随着时间的推移就会形成许多版本,当新分支开发完后,提交仓库,并合并到主干master,最后删除bran分支,这样就完成了一次个人的开发。
3. 操作介绍
- 本地仓库操作
本地仓库常用命令如下:
git status 查看文件状态
git add 将文件的修改加入暂存区
git reset 将暂存区的文件取消暂存或者是切换到指定版本
git commit 将暂存区的文件修改提交到版本库
git log 查看日志
- 远程仓库操作
(1)git remote 查看远程仓库
(2)git remote add 添加远程仓库
添加远程仓库,运行 git remote add < shortname > < url > 添加一个新的远程 Git 仓库,同时指定一个可以引用的简写。
(3)git clone 从远程仓库克隆
如果你想获得一份已经存在了的 Git 远程仓库的拷贝,这时就要用到 git clone 命令。 Git 克隆的是该 Git 仓库服务器上的几乎所有数据(包括日志信息、历史记录等),而不仅仅是复制工作所需要的文件。
克隆仓库的命令格式是: git clone [url]
(3)git pull 从远程仓库拉取
git pull 命令的作用是从远程仓库获取最新版本并合并到本地仓库,命令格式:git pull [short-name] [branch-name]
- 分支操作
分支是Git 使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。
同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
通过git init 命令创建本地仓库时默认会创建一个master分支。
(1)git branch 查看分支
git branch 列出所有本地分支
git branch -r 列出所有远程分支
git branch -a 列出所有本地分支和远程分支
(2)git branch [name] 创建分支
创建分支命令格式: git branch [name]
(3) git checkout [name] 切换分支
切换分支命令格式:git checkout [name]
(4) git push [ shortName ] [name] 推送至远程仓库分支
推送至远程仓库分支命令格式: git push [ shortName ] [name]
(5) git merge [name] 合并分支
合并分支命令格式: git merge [name]
GitHub
- 简介
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。GitHub拥有1亿以上的开发人员,400万以上组织机构和3.3亿以上资料库。
官网首页:
- 特点
从代码自动化到云:使用GitHub Actions通过GitHub Packages和内置CI/CD更快地循环生产代码并简化工作流。
自动化工作流:在管理代码的同一个位置以所需方式生成、测试、部署和运行CI/CD。从任何GitHub事件到任何可用API触发Actions。使用所选语言生成Actions,或从社区创建的数千个工作流和Actions中进行选择。
带有代码的家庭包:使用Actions将新的包版本自动发布到GitHub Packages。在CI/CD工作流中安装托管在GitHub Packages或首选包注册表上的包和映像。它对于开放源代码始终免费,Actions内的数据传输对所有人都无限制。
共同保护软件安全:GitHub在保护全球代码安全方面扮演着重要的角色-开发人员、维护人员、研究人员和安全团队。在GitHub上,各地的开发团队都可以协同工作,以保护全球软件供应链的安全,从分支到完成。
获取有关代码中漏洞的警报:GitHub持续扫描常用语言的安全建议。此外,此功能还会向受影响的存储库的维护人员发送安全警报,并提供详细信息,以便他们能够修正风险。
自动更新漏洞:GitHub监视项目依赖项,并自动打开拉取请求,以将依赖项更新为可解决已知漏洞的最低版本。
查找其他工具忽略的漏洞:CodeQL是行业领先的语义代码分析引擎。GitHub的革命性方法将代码视为数据,以更快地识别安全漏洞。
消除变体:永远不会再犯相同的错误。主动漏洞扫描可防止漏洞进入生产环境。
确保令牌安全:意外地将令牌提交到公共存储库,在20家服务提供商的支持下,GitHub会采取措施确保安全。 - 创建仓库
在完成注册和登录等操作之后,即可进行仓库的创建
- 设置仓库信息
- 创建成功
在创建完成自己的库之后,下面就要让自己的电脑克隆一个自己所创建的库,方面自己电脑上的代码同步到GitHub你所创建的库当中。为了实现,就需要安装一个软件,Git Bash。
git bash是Windows下的命令行工具。
基于msys GNU环境,有git分布式版本控制工具。
主要用于git版本控制,上传下载项目代码。
之后就可以通过git将代码上传到远程仓库,从而对代码进行管理。