Git的安装以及使用

一.简单介绍

1.1版本控制

版本控制是指对软件开发过程中各种程序代码,配置文件及说明文档等文件变更管理,是软件配置管理的核心思想之一。

版本控制最重要的内容是追踪文件的变更,它将什么时候,什么人更改了文件的什么内容等信息忠实的记录下来。除此之外,版本控制的另一重要的功能是并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高开发效率。

1.2git

1.2.1什么是git

Git是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。

Git易于学习,占地面积小,具有闪电般的快速性能。它有诸如Subversion,CVS之类的版本控制工具,具有廉价的本地分支,便捷的暂存区域和多个工作流等功能。

1.2.2集中式

集中化的版本控制系统诸如CVS,SVN等,都有一个单一的集中管理服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务 器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做 法。这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在 做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。 这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时, 那么在这一小时内,谁都无法提交更新,也就无法协同工作。

1.2.3分布式

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

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

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

1.3Git工作流程


工作区:就是你在电脑里能看到的目录,在本地磁盘创建项目(一般在开发工具

中完成).

暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.

git/index)中,添加工作区代码到暂存区,暂存区代码是临时存储,可以撤销.

**版本库:**工作区有一个隐藏目录 .git,是 Git 的版本库,提交暂存区代码到本地

仓库,生成历史版本记录,历史版本记录不可删除,可以查看不同时期提交的历史

记录,和其他版本做比较.

完整的运行流程

  1. 工作区代码添加到暂存区

  2. 暂存区代码提交到本地版本库

  3. 本地版本库代码推送到远程仓库

  4. 从远程仓库拉取代码到本地

说明:

workspace:工作区

staging area:暂存区/缓存区

local repository:或本地仓库

remote repository:远程仓库远程仓库

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

局域网

GitLabe

互联网

GitHub(外网)

Gitee 码云(国内网站)

二.Git的安装

三.Git 基本操作

在我们完成上述的安装操作后,打开管理命令的窗口。

首先我们需要设置邮箱和用户名

使用以下的两个指令

复制代码
git config --global user.email "自己的邮箱" 

git config --global user.name "Your Name"

我们可以查看配置信息

复制代码
git config --list

以下是如何将文件通过一系列指令提交到本地仓库

例如:我们在D盘创建一个文件夹

D:\gittest

命令行窗口进入D:

初始化:

复制代码
git init 项目名

提交到暂存区

复制代码
git add 文件名 (提交指定文件)
git add . (提交所有所有文件)

查看暂存区

复制代码
git ls-files

恢复暂存区的指定文件到工作区

复制代码
git reset 文件名 撤销指定文件
git reset . 撤销所有文件

提交到本地仓库

复制代码
git commit -m 注释
四.idea集成Git并添加项目到git仓库
相关推荐
老李IT笔记19 小时前
激活锁状态怎么检测:三个入口,四种返回值,一份排查顺序
git·智能手机·github
Joecien19 小时前
【2026实测】百炼 CLI 托管 Agent 教程:bl managed-agent 配置校验、版本回滚与变更预演(附完整命令)
人工智能·git·阿里云·知识图谱·agi
行者-全栈开发1 天前
【码动四季·秋】从 commit 到发版全自动:Conventional Commits + semantic-release 发布流水线实战
git·ci/cd·自动化发布·atomgit·semantic-releas·语义化版本自动化·git 提交规范落地
Flynt2 天前
Claude Code 103 秒删掉 4.8 万个文件之后,我把自己的仓库"删"了一遍:git 能救的比你想的少
git·ai编程·claude
csdn2015_2 天前
git 可以修改已经push上去的commit说明吗
git
MinggeQingchun3 天前
Git - 令牌登录
git
xhy_07073 天前
Git 合并冲突怎么解决?用 AI 处理冲突的流程、Prompt 和 4 个易错点
人工智能·git·安全·prompt·ai编程·代码复审
Zhou1411363 天前
Git_02_GitLab协作与CI_CD
git·ci/cd·gitlab
Zhou1411363 天前
Git_03_GitFlow分支工作流
git