# git 实践 **Repository Path**: snail259/git---practice ## Basic Information - **Project Name**: git 实践 - **Description**: Mac(Intel )下的Git 实践 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-04-03 - **Last Updated**: 2024-04-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: Git ## README # Mac(Intel )下的Git 实践 > 说明:之前我在学习 Git 的时候,写过一篇关于《Mac下的安装配置以及基本操作•Mac下的安装配置以及基本操作》知乎文章,最近发现看的人比较多,想着在巩固一下自己的 Git 能力。 ## Git 简介 ==Git 是一个*开源的分布式版本控制系统*,用于*敏捷高效*地处理任何*或小或大的项目*。==关于 Git 的概念记住这句话就可以了。 ## 一、Git安装与配置 本次只介绍通过Homebrew安装 Git,Homebrew是MacOS(或 Linux)的软件包管理器,根据我个人的体验,Homebrew安装 Git是非常简单的,提前是吧Homebrew安装 配置好, 这里不对Homebrew的安装配置做介绍。 ### Git 安装 打开终端,在终端中输入如下命令安装git: ``` brew install git // 安装命令 git --version // 查看版本命令 ``` ### Git 配置 Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。 这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。输入如下命令,终端就是列出git config的用法: ~~~ git config ~~~ 全局配置个人的用户名称和电子邮件地址: ~~~ git config --global user.name "用户名" git config --global user.email 电子邮件地址 ~~~ 到这里想要快速使用Git是没问题了,不管是自己本地使用还是到公司使用都没问题了,远程仓库后面再说。 最后附一张图让我们对 Git 的流程有一个全面的了解,如下: ![](https://pic2.zhimg.com/80/v2-68f755d40271394a0f2d19b1e75ca6f1_1440w.webp) **说明:** - workspace:工作区 - staging area:暂存区/缓存区 - local repository:版本库或本地仓库 - remote repository:远程仓库 ## 二、git的简单使用和基本操作 Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。Git 常用的是以下 6 个命令:**git clone**、**git push**、**git add** 、**git commit**、**git checkout**、**git pull。**再把上面的图放到这里对照一下。 ![img](https://pic2.zhimg.com/v2-68f755d40271394a0f2d19b1e75ca6f1_r.jpg) - **工作区:**就是你在电脑里能看到的目录。 - **暂存区:**英文叫 stage 或 index。一般存放在 **.git** 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。 - **版本库:**工作区有一个隐藏目录 **.git**,这个不算工作区,而是 Git 的版本库。 - **远程仓库:**就是目前市面的 GitHub、gitee、云效,还有公司自己搭建的gitlab 等平台上注册完自己创建的文件目录。 ### Git 工作流程 1. 首页创建工作区。也就是工作文件夹或项目文件夹;有两种方式,第一种是在自己的电脑上创建一个文件夹,第二是从远程仓库 clone 一个下来。这里我选择在电脑上创建一个文件夹,名字就叫“Git 实践”。目录结构如下: ![image-20240403151101724](/Users/snail/Library/Application Support/typora-user-images/image-20240403151101724.png) 2. 初始化仓库。开打终端进入工作区,如下: ~~~ cd Desktop/Git\ 实践 // 进入工作区 git init // 初始化仓库 ~~~ 结果如下: ![image-20240403151821415](/Users/snail/Library/Application Support/typora-user-images/image-20240403151821415.png) 此时我们看到路劲后面多了‘’[master]‘,这个是初始化是默认创建的分支,关于分支的概念后面说,此时不考虑。我们再查看一下此时的目录结构,输入`ls -al`回车,结果如下,发现比原先多了一个.Git 文件夹,**工作区有一个隐藏目录 .git,而是存放暂存区和版本库的信息的**。 ![image-20240403151939623](/Users/snail/Library/Application Support/typora-user-images/image-20240403151939623.png) 这里在介绍一个 Git 命令:`git status`,是查看仓库当前的状态,显示有变更的文件。执行该命令结果如下: ![image-20240403152652513](/Users/snail/Library/Application Support/typora-user-images/image-20240403152652513.png) 我们在`Git 实践`文件夹中创建一个‘ [README.md](README.md) ’文件,再次执行`git status`,结果如下: ![image-20240403153006533](/Users/snail/Library/Application Support/typora-user-images/image-20240403153006533.png) > DS_Store,英文全称是 Desktop Services Store(桌面服务存储),开头的 DS 是 Desktop Services(桌面服务) 的缩写。它是一种由macOS系统自动创建的隐藏文件,存在于每一个用「访达」打开过的文件夹下面。DS_Store 文件的主要作用,是存储当前文件夹在桌面显示相关方面的一些自定义属性,包括文件图标的位置、文件夹上次打开时窗口的大小、展现形式和位置等。这有助于保留为特定文件夹配置的设置。这个我们不用管。 3. 添加文件到暂存区。根据提示我们将‘ [README.md](README.md) ’文件添加到暂存区,使用`git add 文件名`,并查看此时仓库的状态,如下: ![image-20240403153518684](/Users/snail/Library/Application Support/typora-user-images/image-20240403153518684.png) 4. 提交暂存区到本地仓库。就是将本地修改过的文件从暂存区提交到本地库中,这里使用`git commit -m [message]`做一个简单的提交,*需要注意 Git commit 规范,养成良好的习惯,而且明确和标准化提交信息来提高代码协作质量和效率。 其基本原则是通过规定提交信息的结构和语义来提高代码版本控制的可读性、可维护性和自动化程度。*如下: ![image-20240403155307069](/Users/snail/Library/Application Support/typora-user-images/image-20240403155307069.png) 至此,我们在本地的一些简单操作算是完成了,从新建到提交到本地仓库,将自己需要在本地做了版本管理。后面我们只需要对新增或者修改的文件添加暂存和提交本地仓库即可,最后我们使用`git log`命令查看历史提交记录。如下: ![image-20240403160220676](/Users/snail/Library/Application Support/typora-user-images/image-20240403160220676.png) ## 三、Git 远程仓库(gitee) Git 并不像 SVN 那样有个中心服务器。 目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作, 你就需要将数据放到一台其他开发人员能够连接的服务器上,而且放到远程仓库即使电脑出问题本地代码没有了也可以到远程仓库从新拉取下来。 这次我们使用 gitee作为远程仓库,关于在 Gitee 上创建仓库等基础操作,都比较简单,有需要的可以在网上自行查找资料,这里就不说。在 Gitee 上创建上会有一个简单的教程。 1. 添加一个新的远程仓库。使用命令`git remote add `指定一个远程仓库的名称(一般默认origin)和 URL,将其添加到当前仓库中。 ~~~ git remote add gitpractice https://gitee.com/snail259/git---practice.git git push gitpractice master ~~~ 执行结果如下: ![image-20240403170532507](/Users/snail/Library/Application Support/typora-user-images/image-20240403170532507.png) 远程仓库如下: ![image-20240403170635566](/Users/snail/Library/Application Support/typora-user-images/image-20240403170635566.png) 再把之前的那张图拿下来在这里巩固一下,截止现在我们已经把下图最下面的这条线做完了,从工作区到暂存区再到本地仓库最后提交远程仓库。 ![img](https://www.runoob.com/wp-content/uploads/2015/02/git-command.jpg) 现在我们在文件中新增的这部分内容,我们在巩固一下之前学习到的,具体执行结果如下: ![image-20240403172220290](/Users/snail/Library/Application Support/typora-user-images/image-20240403172220290.png) 历史提交记录如下:![image-20240407183253484](/Users/snail/Library/Application Support/typora-user-images/image-20240407183253484.png)