前端工程化13-git的常见命令和面试题

集中式版本控制和分布式版本控制有什么区别?

  • 集中式版本控制(简称 CVCS) ⽐如 CVS和SVN
    • 主要特点是单⼀的集中管理的服务器,保存所有⽂件的修订版本
    • 协同开发⼈员通过客户端连接到这台服务器,取出最新的⽂件或者提交更新
    • 集中式版本控制也有⼀个核⼼的问题:中央服务 器不能出现故障
  • 分布式版本控制系统 (简 称 DVCS) ⽐如git
    • 客户端并不只提取最新版本的⽂件快照, ⽽是把代码仓库完整地镜像下 来,包括完整的历史记录
    • 这么⼀来,任何⼀处协同⼯作⽤的服务器发⽣故障,事后都可以⽤任何⼀个镜像出来的本地仓库恢复
    • 因为每⼀次的克隆操作,实际上都是⼀次对代码仓库的完整备份

Git和SVN的区别

GitSVN
1. Git是⼀个分布式的版本控制⼯具1. SVN 是集中版本控制⼯具
2.它属于第3代版本控制⼯具2.它属于第2代版本控制⼯具
3.客户端可以在其本地系统上克隆整个存储库3.版本历史记录存储在服务器端存储库中
4.即使离线也可以提交4.只允许在线提交
5.Push/pull 操作更快5.Push/pull 操作较慢
6.⼯程可以⽤ commit ⾃动共享6.没有任何东⻄⾃动共享

⼯作中常⻅的Git命令有哪些?

#创建版本库:
$ git clone <url> #克隆远程版本库
$ git init #初始化本地版本库
#修改和提交:
$ git status #查看状态
$ git add <file> #跟踪指定的⽂件
$ git add . #将⽂件添加到暂存区中
$ git commit -m #将暂存区的⽂件进⾏提交更新
#查看提交历史:
$ git log #查看提交的历史
$ git log -p <file> #查看指定⽂件的提交历史
#对分⽀和标签的操作:
#分⽀:
$ git branch #查看本地所有分⽀
$ git checkout <branch> #切换到指定的分⽀
$ git branch <new-branch> #创建新的分⽀
$ git branch -d <branch> #删除本地分⽀
#标签:
$ git tag <newtag> #基于最新提交创建标签
$ git tag #查看所有的本地标签
$ git tag -d <tagname> #删除指定的标签
$ git push --tags #上传所有标签到远程仓库
#分⽀合并:
$ git merge <branch> #合并指定分⽀到当前分⽀
$ git rebase <branch> #衍合指定分⽀到当前分⽀
#远程操作:
$ git remote add <remote> <url> #关联远程仓库
$ git remote -v #查看所关联的远程版本库信息
$ git fetch <remote> #从指定的远程仓库中获取代码、信息
$ git pull <remote> <branch> #获取远程仓库的代码并且合并
$ git push <remote> <branch> #上传本地库的代码⾄远程仓库并且合并
#远程分⽀的操作:
#分享⼀个分⽀,并且将其推送到有写⼊权限的仓库上:
$ git push <remote> <branch>
#跟踪远程分⽀:
#克隆⼀个仓库时,默认会创建⼀个跟踪origin/master的分⽀
#⾃⼰设置跟踪其他分⽀:
$ git checkout --track <remote>/<branch>
#删除远程分⽀:
$ git push origin --delete <branch>
#获取别⼈更新的远程分⽀信息:
$ git fetch <remote> <branch>

Git分⽀管理(Git Flow)

Production分⽀

​ 也就是我们经常使⽤的Master分⽀,这个分⽀包含最近发布到⽣产环境的代码,最近发布的Release, 这个分⽀只能从其他分⽀合并,不能在这个分⽀直接修改

Develop分⽀

​ 这个分⽀是我们的主开发分⽀,包含所有要发布到下⼀个Release的代码,这个主要合并于其他分⽀,⽐如Feature分⽀Release

Feature分⽀

​ 这个分⽀主要是⽤来开发⼀个新的功能,⼀旦开发完成,我们合并回Develop分⽀,并进⼊下⼀个

Release分⽀

​ 当你需要发布⼀个新Release的时候,我们基于Develop分⽀创建⼀个Release分⽀,完成Release后,我们合并到Master和Develop分⽀

Hotfix分⽀

​ 当我们在Production发现新的Bug时候,我们需要创建⼀个Hotfix, 完成Hotfix后,我们合并回Master和Develop分⽀,所以Hotfix的改动会进⼊下⼀个Release

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值