随笔 - 118  文章 - 0 评论 - 341 阅读 - 299万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

介绍git的基本知识、文件状态、工作区域以及一个简单的操作示例。

目录

1. git相关介绍

2. 文件状态与工作区域

3. 快速使用

 

1. git相关介绍

1.1 git、github、gitlab所代表的意思

git:一种分布式的版本控制工具,每个计算机保存了所有历史记录(Svn为集中式的)。

github:一个使用git的代码托管平台。

gitlab:一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。可比喻为自己内网搭建个github。

 

1.2 app下载

1) git for windows

说明:使用git的基础软件,可分为了git bash(命令行版本) 和git gui(图像用户界面版本)。

地址https://git-scm.com/downloads

 

2) TortoiseGit

说明:提供了与TortoiseSvn一样的操作方式。

地址https://tortoisegit.org/

 

1.3 托管平台

1) github

说明国外的git托管平台。创建私有仓库需要付费。

地址https://github.com/

 

2)  码云

说明:国内oschina的git托管平台。可免费创建私有仓库。

地址https://git.oschina.net/

 

1.4 手册

在线APIhttps://git-scm.com/docs

《Pro Git》书籍https://git-scm.com/book/en/v2

《Pro Git》中文版https://git-scm.com/book/zh/v2

 

1.5 名词解释

repository :仓库;指git上所创建的代码库。一个仓库对应一个项目。

branches :分支;一个 repository 可以存在多个分支。

 

2. 文件状态与工作区域

git的文件状态是其git核心内容,了解后对后续的操作有莫大的帮助,不同的文件状态又存储在不同的工作区域中。

下面简单的说明这两者:

2.1 文件状态

git中的文件有以下几种状态:

未跟踪(untrack):表示文件为新增加的。

已修改(modified):表示修改了文件,但还没保存到git仓库中。

已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。 

已提交(committed):表示文件已保存在git仓库中。

 

2.2 工作区域

知道了文件状态,也需要知道不同的文件状态存储在不同的工作区域内。

按照本地计算机与远程计算机划分,工作区域有以下几种:

1)本地计算机

Working Directory(工作目录):即正在编辑的文件状态。文件状态为未跟踪(untrack)和已修改(modified)在此区域内。

Staging Area(暂存区):保存了下次将提交的文件列表信息。文件状态为已暂存(staged)在此区域内。

Repository(本地仓库):提交到本地仓库的文件。

2)远程计算机

Repository(远程仓库):已提交到远程计算机内的文件。

 

2.3 示例图

  

3. 快速使用

3.1 基本的 Git 工作流程如下

a.在工作目录中修改文件。

b.暂存文件,将文件的快照放入暂存区域。

c.提交更新,找到暂存区域的文件,将快照存储到仓库目录。

 

3.2 示例

下面以一个git测试项目完成一套简单的git操作为例:

1) 创建一个Git公开仓库

首先在 https://github.com/ 中创建一个公开仓库。

创建完成后可获得git地址:https://github.com/polk6/gitDemo.git

 

2) git clone:clone 项目

1
git clone https://github.com/polk6/gitDemo.git newProjectName

说明:表示将仓库clone到新创建的本地目录newProjectName内(此参数可忽略,如不输入将会创建一个仓库名称的目录),默认配置下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来。今后若服务器上的磁盘坏掉了,可以使用任何一个克隆下来的用户端来重建服务器上的仓库。

 

3) 设定身份

1
2
git config --local user.name "username"
git config --local user.email "user email"

说明:设定此仓库提交时的身份信息。

--local 表示此仓库的身份信息,除此之外还有 --global表示当前用户,--system表示所有用户。

 

4) 新增一个文件

1
echo abc>>1.txt

说明:创建了一个1.txt文件,并写入了"abc"内容。

 

5) git add

1
git add 1.txt

说明: 将1.txt文件提交到【暂存区】

 

6) git commit

1
git commit -m "增加了1.txt文件"

说明:将【暂存区】的文件提交到【本地仓库】 

 

7) git push

1
git push

说明:将【本地仓库】的内容提交到【远程仓库】

 

posted on   FangMu  阅读(1836)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示