Git工具快速入门

简介: git与其他版本控制工具的区别所有除了Git以外的版本控制系统都使用增量存储方式来保存不同版本,而Git则在每一个commit时,保存一个整个文件的content copy,除非那个文件没有做过改动。Git和其他版本系统的主要区别是Git对数据的重新思考。概念上说,所有其他的系统都是以文件为基础来保存信息。这些系统将信息视为一整套的文件以及对这些文件的修改。Git并不这样看待数据。

文章目录

常用的版本控制工具

git的功能

git与其他版本控制工具的区别

git相关概念

git工具下载

git起源

git的四种状态

git的三大分区

创建项目完整流程(git基本命令的使用)

创建一个项目的根目录(mkdir)

创建仓库(git init)

创建文件(touch)并将文件添加到版本控制工具中

查看仓库状态(git status)

使用add命令添加到版本控制工具中

提交至仓库中(commit)

设置个人信息( git config)

将暂存区的内容提交到仓库(commit)

搭建git服务器

创建仓库

添加远端仓库地址

下载仓库(clone)

常用的版本控制工具

vss

cvs

svn

Mercurial

ClearCase

git :分布式

git的功能

团队协作

1.文件管理

2.历史跟踪

3.冲突管理

4.版本发布

git与其他版本控制工具的区别

所有除了Git以外的版本控制系统都使用增量存储方式来保存不同版本,而Git则在每一个commit时,保存一个整个文件的content copy,除非那个文件没有做过改动。Git和其他版本系统的主要区别是Git对数据的重新思考。概念上说,所有其他的系统都是以文件为基础来保存信息。这些系统将信息视为一整套的文件以及对这些文件的修改。Git并不这样看待数据。相反,Git将数据视为一系列的mini filesystem的快照。每次你commit,或者在Git中保存你的项目的状态,它将你的文件在那个时刻的状态做一个快照,并且保存对那个快照的引用。为了更加高效,如果文件本身没有做变更,git并不会重新保存一份,而仅仅重新引用这个已经保存过的文件快照。


git相关概念

分支(Branch):在一个时间点,复制一份处于版本控制之下的文件,从这之后,这两份拷贝就可以独立的互不干扰的进行各自开发。

取出(Check-out):一次“取出”,就是在本地创建一份仓库的工作拷贝。

提交(Commit):一次“提交”,将本地的修改写回到仓库或合并到仓库。

冲突(Conlict):当开发者们同时提交对同一文件的修改,而且版本系统不能把它们合并到一起,就会引起冲突,就需要人工来进行合并。

合并(Merge):合并就是把所有对文件的修改统一到文件里

仓库(Repository):仓库就是当前的和历史的处于版本控制之下的文件所在的地方,通常在服务器端。

工作版本( Working copy ) :从档案库中取出一个本地端的复制,所有在档案库中的档案更动,都是从一个工作版本中修改而来的,这也是这名称的由来。

git工具下载

Git工具官网下载(windows macos linux均可下载-速度较慢)


git工具快速下载地址(仅限windows)


选择版本

5a0ee5ce03df424889e173df778957c7.png

对应自己电脑选择下载32位/64位。


image.png

image.png

git起源

Linux之父Linus是坚定的CVS反对者,他也同样地反对SVN。2002年Linus顶着开源社区精英们的口诛笔伐,选择了一个商业版本控制系统BitKeeper作为Linux内核的代码管理工具。和CVS/SVN不同,BitKeeper是属于分布式版本控制系统。

Git诞生大事件2005年4月3日,开始开发Git。2005年4月6日,项目发布。2005年4月7日,Git就可以作为自身的版本控制工具了。2005年4月18日,发生第一个多分支合并。2005年4月29日,Git的性能就已经达到了Linus的预期。2005年6月16日,Linux核心2.6.12发布,那时Git已经在维护Linux核心的源代码。

git的四种状态

git的状态有四种分别为:

untrack:未记录。当你在一个git项目当中新建了文件的时候,如果你用git status命令去查看git当中的状态,就会看到系统会提示你有些文件状态是untrack。

modified:modified顾名思义就是 修改过 的意思。针对的就是 已经登记在案 的文件最近又发生了改动的情况,也就是说我们最近改过了某一个之前已经登记在案的文件,那么当我们查看状态的时候得到的就是modified,表示改动了,之前的记录已经不是最新的了,我们需要更新。这时我们可以使用git add来更新。或使用git restore来重置。

staged:暂存。当我们创建了新的文件,或者是有了新的改动,执行git add之后,得到的状态就是staged。

committed:已提交。前面说了staged只是暂存,还没有真正提交进git系统当中。只有通过命令git commit之后,才算是真正把暂存区的代码提交了。经过git commit命令之后,所有被提交的文件的状态就是committed。


git的三大分区

从上面的四种状态将git分为三个区即工作区/暂存区/版本库。如下图所示。

image.png

创建项目完整流程(git基本命令的使用)

git使用的命令和linux的命令基本相同。

创建一个项目的根目录(mkdir)

mkdir 文件夹名

image.png

创建仓库(git init)

git init

在项目根目录下创建仓库,此时创建的仓库为.git隐藏文件夹。这时候的su就为一个主分支(master)。

image.png

打开.git文件夹如图所示,这里包含了我们的配置文件等等…

image.png

创建文件(touch)并将文件添加到版本控制工具中

touch 文件名

437b914df33b4519ae1430a5c0e2fb5b.png

image.png

image.png

image.png

将暂存区的内容提交到仓库(commit)

使用git commit可提交至仓库,-m则可添加提交说明。

3d769a3508b74b40ae4302213608ded8.png

搭建git服务器

在将项目提交到仓库中后,需要推送到远程仓库,这时我们就需要搭建一个git服务器。


github

gitee

github为外文网站访问速度较慢。而gitee为国内网站访问速度较快一些,这里我们去注册一个账号即可。


创建仓库

进入gitee,点击创建我的仓库

image.png

点击创建即可

977650cd88554ed8a2a1f8776c5dfe0a.png

image.png

添加远端仓库地址

1.git remote add 别名 远端仓库地址 对远端仓库进行操作

2.git push 'master' 推送到远端仓库

image.png

image.png

image.pngimage.png

这就是一个项目发布到远端仓库,以及从远端仓库克隆到本地的详细步骤啦,在日常这些命令就足够使用了,下一篇带大家更进一步的了解git的其他一些命令。若对你有帮助的话,就三连支持一下吧!


相关文章
|
1月前
|
数据可视化 开发工具 C#
.NET开源、免费、跨平台的Git可视化管理工具
俗话说得好“工欲善其事,必先利其器”,合理的选择和使用可视化的管理工具可以降低技术入门和使用的门槛。今天大姚给大家分享一款.NET Avalonia开源、免费、跨平台、快速的Git可视化管理工具:SourceGit。
|
1月前
|
Java Shell 开发工具
Git快速入门+常用指令
Git快速入门+常用指令
35 0
|
20天前
|
开发工具 git
Git 快速入门
初始化Git仓库、移除远程仓库连接、添加新远程仓库如`https://gitee.com/xxx.git`,使用`git pull --rebase`同步、`git add .`添加改动、`git commit -m "message"`提交,放弃提交用`git reset --hard`,最后`git push origin master`推送至远程主分支。
|
1月前
|
数据可视化 小程序 Linux
【Linux】自动化构建工具make/Makefile和git介绍
【Linux】自动化构建工具make/Makefile和git介绍
22 0
|
1月前
|
前端开发 持续交付 开发工具
【专栏:工具与技巧篇】版本控制与Git在前端开发中的应用
【4月更文挑战第30天】Git是前端开发中的必备工具,它通过分布式版本控制管理代码历史,支持分支、合并、回滚等操作,促进团队协作和冲突解决。在前端项目中,Git用于代码追踪、代码审查、持续集成与部署,提升效率和质量。优化协作包括制定分支策略、编写清晰提交信息、定期合并清理分支及使用Git钩子和自动化工具。掌握Git能有效提升开发效率和代码质量。
|
1月前
|
jenkins 持续交付 开发工具
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)(下)
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)
|
1月前
|
jenkins Java 持续交付
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)(上)
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)
|
1月前
|
开发工具 git
Git版本控制工具详解(三)
Git版本控制工具详解
48 0
|
1月前
|
存储 网络安全 开发工具
Git版本控制工具详解(二)
Git版本控制工具详解
58 0
|
1月前
|
Shell Linux 开发工具
Git版本控制工具详解(一)
Git版本控制工具详解
109 0
Git版本控制工具详解(一)