开发者社区> 游客5cswve2ky2ieu> 正文

Git看这一篇就够了(一)

简介: Git看这一篇就够了(一)
+关注继续查看

一、Git概述


Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。


1.1 何为版本控制


版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。

版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本, 方便版本切换。

40.png


1.2 为什么需要版本控制


个人开发过渡到团队协作。

41.png



1.3 版本控制工具


集中式版本控制工具

CVS、SVN(Subversion)、VSS……


集中化的版本控制系统诸如 CVS、SVN 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。


这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。


事分两面,有好有坏。这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。


42.png


分布式版本控制工具

Git、Mercurial、Bazaar、Darcs……


**像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。**这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。


分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:


1.服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)


2.每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)


43.png


1.4 Git工作机制


44.png


1.5 Git 和代码托管中心


代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。


局域网


GitLab


互联网


GitHub(外网)


Gitee 码云(国内网站)


二、Git 常用命令


命令名称

作用

git config --global user.name 用户名

设置用户签名

git config --global user.email 邮箱

设置用户签名

git init

初始化本地库

git status

查看本地库状态

git add 文件名

添加到暂存区

git commit -m “日志信息” 文件名

提交到本地库

git reflog

查看历史记录

git reset --hard 版本号

版本穿梭


2.1 git init


初始化本地库


初始化成功会有.git目录


45.png


2.2 快速打开git本地仓库


46.png


可以看到直接就进去了


47.png


2.3 查看本地库状态


2.3.1 首次查看(工作区没有任何文件)

48.png


2.3.2 再次查看(检测到未追踪的文件)

49.png


2.3.3 将工作区的文件添加到暂存区

git add 文件名

50.png


2.3.4 将暂存区的文件提交本地库

git commit -m “日志信息” 文件名

51.png



2.4 查看历史版本


测试查看历史版本


我们修改后再次提交


52.png


git reflog 查看版本信息


git log 查看版本详细信息


53.png


2.5 版本穿梭

git reset --hard 版本号


54.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
19821 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
29199 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
13578 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
22540 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
16471 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20714 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
14903 0
242
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载