【BIOS开发】Git的使用

一、什么是Git

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,广泛应用于项目开发中,通过版本管理、团队协作、代码回滚、分支管理、备份与恢复、版本发布等功能,为项目开发和维护提供强大的支持,提高项目开发的效率和质量,促进团队协作和沟通,降低开发风险。

经典Git开发过程:

二、Git的特点

  • 完全分布式,不像集中式存在一个必备的中央服务器。最常见的集中式版本控制系统是SVN,Git和SVN的区别如下:

GitSVN
核心区别分布式集中式
存储方式元数据方式存储文件方式存储
分支分支功能强大,将Git从版本控制系统的家族中区分出来分支在SVN并不特别,只是版本控制系统中的另外一个目录
全局版本号
内容完整性内容存储使用的是SHA-1哈希算法,确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏性能低于Git
安全性每个分支都有一个完整的版本库,某个分支所在的电脑故障也不影响,从其他电脑复制即可SVN版本控制系统的中央服务器一旦挂掉,则所有工作不能继续进行
  • 速度快

  • 几乎所有操作都在本地执行

  • 支持离线工作,本地提交可以稍后提交到服务器上

  • 直接记录快照,而非差异比较

  • Git 提交都是原子的,且是整个项目范围的

  • Git 中的每个工作树都包含一个具有完整项目历史的仓库

三、Git的三个区域 

使用Git 管理的项目,拥有三个区域,分别是工作区、仓库区、暂存区

工作区(Workspace):工作目录,负责处理工作的区域,包含.git文件夹的目录,即自己电脑上看到的目录,存放开发的代码;

 仓库区(Repository/Git Directory):也称资源库/Git仓库/版本库,是一个本地仓库,存储了很多配置信息、日志信息和文件版本信息等;

暂存区(Index/Stage):临时保存被修改的文件,等待被提交,一般放在.git目录下的index文件中,故暂存区也称为索引(index);

此外还有

远程的Git仓库(Remote Directory):托管代码的服务器,可以简单的认为是项目组中的一台电脑用于远程数据交换。远程仓库可以使用第三方平台,如Github、Gitlab、Gitee等,以下创建的是Github远程仓库。

文件在这四个区域之间的转换关系如下:

四、常用Git命令

1. 新建代码库

  • git init——将当前目录变成Git可管理的仓库。仓库建好后,会多一个.git文件夹,一般是隐藏起来的,输入ls -ah可以查看
  • git init [diretory]——新建一个目录并将其初始化成Git代码库添加

2. 增加文件

  • git add [file1] [file2]...——暂存修改,提交当前目录下的文件到暂存区(file带扩展名)
  • git add [dir]——添加指定目录到暂存区,包括子目录
  • git add .——添加当前目录的所有文件到暂存区

3. 提交文件

  • git commit -m [“message”]——提交暂存区到仓库区,message是对提交的说明
  • git commit [file] [file]... -m [“message”]——提交暂存区的指定文件到仓库区
  • git commit -a [file]——直接提交修改文件到仓库区
  • git commit -v [file]——提交时显示diff信息

4. 删除文件

  • git rm [file1] [file2]...——删除工作区文件,并将这次删除的文件放入暂存区
  • git rm --cached [file]——停止追踪指定文件,但该文件会保留在工作区
  • git mv [originalname] [renamed]——重命名文件,并将改名文件放入暂存区

5. 分支

  • git branch——列出所有本地分支(带*且为绿色字体的表示当前所在分支)
  • git branch -r——列出所有远程分支
  • git branch -a——列出所有本地和远程分支
  • git branch [branchname]——新建分支,但仍停留在当前分支
  • git checkout -b [branchname]——新建分支,并切换到新分支
  • git checkout [branchname]——切换分支,并更新工作区
  • git checkout - ——切换到上一个分支
  • git merge [branchname]——合并指定分支到当前分支
  • git ls-tree [branchname]——查看指定分支中的所有文件
  • git branch -d [branchname]——删除分支
  • git push origin --delete [branchname]——删除远程分支

6. 查看信息

  • git status——显示有变更的文件
  • git log——显示当前分支的版本历史
  • git log --sta——显示commit历史,以及每次commit发生变更的文件
  • git diff——显示暂存区和工作区的差异

7. 配置

  • git config --list——显示当前的Git配置
  • git config -e [--global]——编辑Git配置文件(.gitconfig)
  • git config [--global] user.name "[name]"——设置提交代码时的用户名

  • git config [--global] user.email "[email]"——设置提交代码时的用户邮箱

8. 远程同步

  • git remote add [shortname] [remote url]——添加远程仓库,并命名

  • git fetch remote——下载远程仓库的所有变动

  • git clone [remote url]——载入远程仓库

  • git pull [remote] [branchname]——取回远程仓库的变化,并与本地分支合并

  • git push [remote] [branchname]——推送本地指定分支到远程仓库

  • git push [remote] --all——推送本地所有分支到远程仓库

9. 撤销

  • git checkout [file]——恢复暂存区的指定文件到工作区

  • git checkout .——恢复暂存区的所有文件到工作区

  • git checkout [commit] [file]——恢复某个commit的指定文件到暂存区和工作区

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值