GIT(分布式版本控制系统)入门
什么是GIT
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
那么问题来了,什么是分布式版本控制系统。
这里举个例子,你需要编写一个文档,这个文档呢财务部需要,产品部也需要。那么你要怎么写呢。无非这样做,先写一部分部门的材料,保存下来一个版本,交给他们,再添加一部分材料保存另一个版本交给另外的部门。如果涉及到多个部门,可能你需要写多个版本,都保存下来。然而,电脑桌面乱糟糟的,却又不敢删除任何一个版本。
这并不是最糟糕的。最糟糕的是这么多部门又给你返回了他们各自部门的信息。你还要将它们统一到一个版本里。
这时你会不会希望有一个管理系统不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以,岂不是很方便?
就像这样一样。
这就是分布式版本控制系统的功能。
分布式版本控制系统有什么优点
说到它的优点不得不提到的是另外一种控制系统——集中式版本控制系统。
CVS和SVN都是集中式的版本控制系统,GIT是分布式。那么什么是集中式,什么是分布式呢?
集中式,顾名思义就是将资源集中起来。每次修改完文件上传到中央服务器。当需要修改时,再从中央服务器下载下来。这也暴露出它的一个弊端,必须需要网络才能从中央服务器下载下来。
分布式,去中心化,GIT在我们每个人的电脑上都有一个独立完整的库,我们平时上传代码的中央服务器和我们电脑上的库的内容基本上完全一样。去中心化 意味着没有权威,没有主力,人人平等。在github 上有个fork功能。你可以fork任何人的项目,按照自己喜好修改项目。或是将自己修改的内容发给原作者,将你的功能更新到他的项目里面去。这就是分布式。
安装
官方下载:https://git-scm.com/downloads
使用
在Git中,我们将需要进行版本控制的文件目录叫做一个仓库(repository),每个仓库可以简单理解成一个目录,这个目录里面的所有文件都通过Git来实现版本管理,Git都能跟踪并记录在该目录中发生的所有更新。
在目标文件下,打开git。通过git init
命令把这个目录变成Git可以管理的仓库:
这时文件里会生成一个.git
的目录。这个目录是隐藏的。用ls -ah
命令就可以看见。
Git是一个快照每次提交后系统都会记录一下这次操作的相关信息
每次更新版本每个版本都会对应一个版本号。
git命令
git init
: 创建一个本地仓库
git add read.txt
: 把本地文件(工作区)添加到缓存区
git add.
: 把本地所以文件全部添加到缓存区
git commit -m 'describe message'
:真正把缓存区的所有文件都添加到仓库上
git status
: 查看git仓库当前的状态
git diff read.txt
: 查看文件具体修改了哪里
git log
:查看最近到最远提交到仓库的文件信息(一串数字为特有的时间序列id 可以根据它进行版本前后回滚)
git reset --hard HEAD^
: 回退到上一次 commit的时候
git reset --hard bdeacd
: 版本前进 只能根据 id进行前进(id只写出前六位就好了)
git reflog
:查看每次操作仓库内的信息(commit) 这样的话当黑窗口没了的时候,也可以查询具体操作信息,进行版本回退或者前进!
git checkout -- read.txt
: 工作区恢复到最近一次的commit或者add
git rm read.txt
: 删除某一个文件
git branch dev
: 创建dev分支
git checkout dev
: 切换到dev分支上开发
git branch
:查看所有分支
git branh -d dev
:删除分支 (-D 强制删除)
git merge dev
: 合并分支
git stash
:保存工作现场;
git pop
:恢复工作现场;
如果在开发的过程中发现主分支master上右bug但正在开发的dev分支没开发完怎们办,切记一点不要在master分支上直接开发,保存dev工作现场回到master上创建解决bug的分支如issue分支解决完回到master分支把issue分支合并再回到dev恢复现场
GIT(分布式版本控制系统)入门相关推荐
- Git分布式版本控制系统(上)
Git分布式版本控制系统(上) 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方便 ...
- Git分布式版本控制系统
Git分布式版本控制系统 git remote -v 查看仓库 一 企业高效持续集成平台场景介绍: 二,GIT分布式版本控制系统: 2.1 Git简介: 2.1.1 git是什么? Git在Wikip ...
- Git 分布式版本控制系统
目录 文章目录 目录 Git 分布式版本控制系统 Git 的基本概念 Git 的仓库结构 Git 的核心对象 Git 的数据结构 Git Flow 参考文档 Git 分布式版本控制系统 Git 是一个 ...
- g4e基础篇#2 Git分布式版本控制系统的优势
1. 基础篇: 为什么要使用版本控制系统 Git 分布式版本控制系统的优势 Git 安装和设置 初始化Git存储库(Repo) 起步 1 – 创建分支和保存代码 起步 2 – 了解Git历史记录 起步 ...
- Git分布式版本控制系统(下)
Git分布式版本控制系统(下) 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方便 ...
- Git 分布式版本控制系统使用教程
Git 专栏索引: Git 分布式版本控制系统使用教程 在 IDEA 中使用 Git 图文教程 Git 分布式版本操作系统使用教程 1. 版本控制系统简介 1.1 集中式版本控制系统 1.2 分布式版 ...
- 分布式版本控制系统入门
简介 在过去几年,对于分布式版本控制可以给开发过程提供的益处有许多争论.最近,分布式工具已经很成熟了.尽管分布式工具的一些优点最初可能不明显,但是从长期来看,它们提供的灵活性是非常有意义的.阅读完本文 ...
- 使用Git分布式版本控制系统
GIT(分布式版本控制系统) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理 ...
- git(2)---git 分布式版本控制系统
集中式vs分布式 Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央服务 ...
- Git分布式版本控制系统简介和使用
Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.[1] Git的读音为/gɪt/. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本 ...
最新文章
- Spring_boot_pom.xml和启动方式
- 链接被点击的默认行为——带到另一个窗口
- python for-python循环
- 微服务API设计的实践与思考总结
- R金融统计:收益、随机行走和模拟
- P5081 Tweetuzki爱取球(期望)(线性求逆元)
- The temporary upload location [/tmp/tomcat.xxx/work/Tomcat/localhost/etc] is not valid
- EasyUI Numberbox 数字框(限制仅输入数字)
- java icache_java手写多级缓存
- 一段用于地址清洗的代码
- SM2258XT固态硬盘不认盘量产修复开卡工具 SM2258XT开卡教程
- RainMeter学习4
- 算法:5、绝对差值和
- 噪声,白噪声,加性噪声和乘性噪声
- 郑捷《机器学习算法原理与编程实践》学习笔记(第三章 决策树的发展)(一 )_ID3...
- 数据结构—排序(第九章)
- SAP EWM TCODE list
- python访问陌生人qq空间_使用Python+Selenium模拟登录QQ空间
- 提升OneDrive空间
- 冯氏竟是司马迁的后裔!冯氏历史上还出过哪些战功赫赫的大将军?