Git的使用心得

前言

本文纯属我的学习笔记整理不作任何商业用途 若有错漏欢迎指正html

生死看淡,不服就干前端

开门附上阮老师的git经常使用命令清单镇压妖魔鬼怪git

正文

分布式版本与集中式(SVN)区别

Git是一种分布式版本控制系统,咱们将集中式版本管理系统(SVN)和咱们的分布式管理系统做为比较咱们就比较好理解。github

集中式(SVN) 分布式(Git)
是否有中央服务器 有。开发人员须要从中央服务器得到最新版本的项目而后在本地开发,开发完推送给中央服务器。所以脱离服务器开发者是几乎没法工做的 没有中央服务器,具备如下几个区域:Workspace(工做区),Index(暂存区),Repository(仓库区),Remote(远程区)
网络依赖  必需要联网才能工做,并且对网络的依赖性较强,若是推送的文件比较大并且网络情况欠佳,则提交文件的速度会受到很大的限制。 分布式在没有网络的状况下也能够执行commit、查看版本提交记录、以及分支操做,在有网络的状况下执行 push 到 Remote Repository。
网络依赖  必需要联网才能工做,并且对网络的依赖性较强,若是推送的文件比较大并且网络情况欠佳,则提交文件的速度会受到很大的限制。 分布式在没有网络的状况下也能够执行commit、查看版本提交记录、以及分支操做,在有网络的状况下执行 push 到 Remote Repository。
文件存储格式  按照原始文件存储,体积较大 按照元数据方式存储,体积很小
是否有版本号  有   没有
分支操做的影响   建立新的分支则全部的人都会拥有和你同样的分支 分支操做不会影响其余开发人员,每一个人在本身分支上开发也能够在同一个分支上共同开发,不过须要事先跟同事商量好不一样模块开发否则回存在冲突,开发完成后再合并每一个分支
提交   提交的文件会直接记录到中央版本库 提交是本地操做,须要执行push操做才会到主要版本库

Git经常使用操做命令行

理解一张很是出名的Git原理图web

图中都是咱们日常使用Git合做时普通的一些命令行,这些基本的操做也基本可以知足咱们平时使用Git,根据我 的工做事件已经查阅相关书籍简单解释咱们经常使用的命令行具体表明什么意思。后端

  • git clone 你的github地址
    • 一般咱们合做开发项目都是先从远程克隆团队项目到本地,此时项目就存在于咱们当前的工做区(Workspace)
  • git checkout -b 你的分支
    • 新建你的分支并切换到你本身的开发分支。
  • git pull
    • 拉取当前分支的最新代码
  • git fetch
    • 拉取全部远端的最新代码,当其余同事提交了他的代码以后你能够拉取所有最新代码,推荐你开发完成以后拉取最新代码并合并。
  • git add .
    • 提交全部修改文件到暂存区,注意是修改过的文件才会被提交,暂存区的代码还不会提交到仓库区而是放到暂存区,为何会有个暂存区?个人理解是比如咱们搬砖,咱们须要一台拖拉机先把烧好的一部分砖放到车上(也能够所有烧好统一放到车上),将车开到仓库放下咱们烧好的砖再最后运送到远程客户手中。
  • git commit -m "你的修改注释"
    • 提交暂存区文件到本地仓库(Repository)
  • git push
    • 提交本地修改文件到远程区(Remote)
  • git merge 分支名称
    • 本地分支代码合并其余分支代码,也能够合并远程分支代码。咱们在合做开发的时候一般须要合并不一样分支不一样开发人员写的代码,通常来讲在开发以前先拉取pull别人的代码到本地再开发本身的代码在合并的时候是不会有冲突的,直接merge就可以获得两个分支共同的代码。

我认为理解上述的全部内容就基本上知足你工做上的需求了,不过这里仍是附上完整的Git操做命令行连接服务器

工做中实践

结合个人工做对比这些命令行网络

  • 在vscode克隆合做项目到本地以后咱们点击左下角查看项目分支状况 分布式

  • 咱们的商家管理后台分支先后端一共五我的合做开发,每一个人用本身独立的分支开发具体的功能,具体分支以下:gitlab

    • 每一个人用本身名字的缩写区分每一个人开发的具体分支,开发完成后在gitlab上申请合并分支到开发分支(develop) 咱们公司有本身的编译脚本,开发分支上的代码会自动帮你打包编译,这样咱们前端就直接负责开发合并省去打包编译步骤了。
    • 注:vscode上的origin/分支名称 表示该分支属于远程分支,你还未拉取该分支到你的本地环境。
  • 更新远程全部远程分支的最新代码 git fetch

  • 本地拉取当前分支的远程代码 git pull ps:与后端同事合做开发

  • 修改个人代码并提交到暂存区而后保存到本地仓库 git add . && git commit -m "修改了接口文档"

  • 提交到远程仓库 git push

  • 最后在gitlab上发起合并到开发分支的编译请求就能够实时在测试环境预览你的开发成果了,最后这一步会因不一样公司的不一样编译环境而定,具体是与后端同事或者服务端同事商量协定。

总结

对世界上的一切学问与知识的掌握也并不是难事,只要锲而不舍地学习,努力掌握规律,达到熟悉的境地,就能融会贯通,运用自如了。 —— 高士其

关于学习,有些人学以至用,不飞则已,一飞冲天;不鸣则已,一举成名,学习就是不断地积累,不停地探索,这篇文章只是一些我的心得集合若是能对你有点帮助我会感到开心,同时也推荐一些更好的文章给你们学习,社会主义新中国共同窗习。

-------------推荐阅读------------

廖雪峰老师关于Git的官方教程

git 团队合做, git 分支开发 、合并、冲突 实例

全面理解Git

如何优雅地使用Git

公司内部搭建 git 服务器

相关文章
相关标签/搜索