Git 0基础从入门到精通
Git基本用法详解
Git发展史
早期版本控制系统
在Git出现之前,使用集中式版本控制系统(如CVS和Subversion)是常见的做法。集中式版本控制系统是指将代码都存储到一个中央服务器中,但这样失去了开发者对代码的自由度和灵活性有一定的限制。
Linux内核开发
为了管理Linux内核的开发,Linus Torvalds决定创建一个新的版本控制系统。起初,他使用BitKeeper作为Linux内核的版本控制工具,但是由于与BitKeeper的合作关系出现问题,迫使他开始着手开发自己的版本控制系统。
Git的诞生
在2005年,Linus Torvalds发布了Git,并将其用于管理Linux内核的开发。Git的设计目标是速度、简单性和强大的分支和合并功能。
社区和生态系统
Git拥有庞大的开发者社区,他们贡献了许多工具、插件和扩展,丰富了Git的生态系统。这些社区的贡献者和Git的用户相互交流和分享经验,使Git的使用更加方便和强大。
什么是分布式
分布式管理系统介绍
分布式和集中式是两个相对的概念,前面讲到过 在集中式版本控制系统中,我们的代码都在一台中央服务器上进行管理,也就是中央服务器是一台巨大的代码仓库,这样降低了开发者对于代码的控制。
这个时候就出现了分布式管理系统。
- 怎么理解分布式:
用通俗点的话来说,分布式实际上就是众多开发者把远程仓库克隆(clone)到本地进行管理的方式,开发者可以把clone下来的代码仓库在本地进行版本的管理,最后再把成果提交到远程仓库进行代码合并。他可以把一个大的工作拆分成无数个小的工作来完成。
什么是Git
Git简介
Git是一个免费且开源的版本控制系统.旨在快速高效地处理从小型到超大型项目的所有项目。
Git 易于学习,占用空间小,性能快如闪电。它超越了 Subversion、CVS、Perforce 和 ClearCase 等 SCM 工具,具有廉价的本地分支、方便的暂存区域和多个工作流程等功能。
Git的基础使用
下载与安装
#更新apt源
sudo apt update && sudo apt upgrade
#使用apt安装git
sudo apt install git -y
配置Git
在使用Git之前,需要先对Git写一个简单的配置,这定义了提交代码时的用户名以及邮箱
在终端输入以下内容:
#配置邮箱
git config --global user.email "邮箱"
#配置用户名
git config --global user.name "用户名"
克隆(clone)代码
克隆(clone)指从远程仓库把代码仓库复制下来的过程,这里的远程仓库可以是Gitee,GitHub,GitLab等平台,只要是支持git就可以。亦或者也可以是自己搭建的git服务器(通常在公司企业内部会使用)。
命令很简单,如下:
#克隆仓库
git clone -b 分支名 git仓库地址
#例如:
git clone -b master https://gitee.com/cancerai/web
#其中有个-b的参数,它用来指定远程仓库的分支,因为我这仓库默认就是master分支,所以该参数可以省略不写,如下:
git clone https://gitee.com/cancerai/web
克隆成功后应该是长这样的:
克隆下来的是一个文件夹(git工作目录),这时候可以cd进这个目录中对仓库进行操作
Tip:在那里使用git clone命令即克隆哪个目录下,如上图我在/home/cancerai/Documents/open-source/使用了git clone
那么仓库的目录路径就是/home/cancerai/Documents/open-source/demo
提交仓库的更改到远程仓库
git提交流程
了解git的提交流程能对我们代码的理解更深,下面是大致的一个提交流程,可分为3个步骤:
提交到暂存区 -> 从暂存区提交到本地仓库 -> 提交到远程仓库
提交到暂存区
- 什么是暂存区
英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index),相当于内存的缓存。
代码如下:
#语法:
git add 暂存的文件
#如果需要暂存所有更改的内容,则可以直接输入"."
git add .
提交到本地仓库
可以使用以下命令将暂存区的内容提交到本地仓库中
#语法:
git commit -m "名字"
这里的名字就是你对之前add的文件起个注释,可以用于说明该文件在该版本下的改动,也可以随便写(不影响提交文件)
例如:
git commit -m "file"
提交到远程仓库
在提交到远程仓库的时候也很简单,语法如下:
#语法:
git push origin master:master
这里的参数乍一看有点多,不过没关系,我们一点点来看
首先push是用于提交的参数,而后面的origin代表我们要指定提交到哪个分支
master:master???翻译成中文就是???本地仓库分支名:远程仓库分支名
这样的话这行代码的意思就是把本地名为master的分支提交到远程名为master的分支上。
不过这种写法也可以有简写:在git中当本地和远程的分支名一样时,可以写成一个
git push origin master
但这样还是会觉得有些麻烦,问题不大,git还给出了更为简单的写法
git push
在git中默认的分支就是master,所以你就算不写后面的master,git也知道你要提交到哪个分支 而origin后面没有给具体的参数,所以也可以省略不写
在输入完git push后,系统会提示让你输入你的账号密码,这个是用来验证你的身份信息
在输入密码时,在linux下会有保护机制,不会显示出密码,只要尽管输入就可以,就像这样:
总结
???????Git作为现在主流的版本控制工具已经被众多程序员大量使用,本文仅仅列出了最基础的Git用法,里面还有很多命令值得我们去学习,例如分支的控制,版本控制,历史查询,版本回退等等许多功能,详细可参考官方手册:https://git-scm.com/book/zh/v2
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!