【程序员必备】Git从入门到掌握

Git

笔记参考视频:【GeekHour】一小时Git教程

一、概述

  1. 版本管理工具分类:

    • 分布式版本控制系统--Git
    • 集中式版本控制系统--SVN
  2. 版本管理工具区别:

    • 集中式版本控制系统:版本记录存放在服务器,提交的时候版本记录需要从服务器中读取,服务器挂了就完蛋了。
    • 分布式版本控制系统:每台电脑都有一个完整的版本记录,即使服务器挂了也可以先提交到本地版本库,等中央服务器修好了在同步上去。

二、下载

官网:git-scm.com/

三、工作区域介绍

Git 工作区一共有三个:

  1. 本地工作区:我们能看到的文件就是本地工作区

  2. 本地暂存区:一个中间区域,临时存储即将要提交到本地仓库的代码

  3. 本地仓库:包含本地代码和版本信息
    Git的工作流程

  4. 文件在工作区修改完成后使用git add提交到暂存区

  5. 确认暂存区的文件需要提交到本次仓库后,使用git commit提交的到本地仓库

四、Git管理文件的四个状态

  • 未跟踪:文件没有被Git管理起来的文件,这些文件修改,不会有版本记录
  • 未修改:文件已经被Git进行版本管理,但是文件内容没有变化
  • 已修改:文件已经被Git进行版本管理,且文件内容有变化,同时还没有提交到暂存区的文件
  • 已暂存:文件修改后,被添加到暂存区内的文件

四、基本使用

1.初始化 Git 设置

设置这些属性可以区分代码是谁提交的

shell 复制代码
#配置用户名
git config --global user.name "用户名"
#配置邮箱
git config --global user.email "邮箱"
#存储配置(没必要弄,可以略过)
git config --global credential.helper store
#查看配置信息
git config list --global

2.初始化仓库

Git 初始化仓库有两种方式:

  1. 本地新建仓库
  2. 克隆远程仓库
shell 复制代码
#方式一:本地新建仓库
git init [仓库地址]


#方式二:克隆仓库
git clone git仓库地址

#案例:
	#案例1:在当前文件夹新建仓库
		git init 
	#案例2:在指定文件夹新建仓库,如果文件夹不存在就创建文件夹
		git init ./project/cangqiongwaimai
	#案例3:拉取远程仓库
		git clone https://github.com/deepseek-ai/DeepSeek-V3.git

3.本地仓库操作

shell 复制代码
#查看仓库状态[可以查看当前仓库的基本信息:是哪个分支,有哪些文件,这些文件的状态]
git status

#将本地修改的文件从工作区提交到暂存区[红色文件:已修改,未暂存  绿色文件:已修改,已暂存]
	#方式一:添加指定文件
	git add [需要提交的文件名]
	#方式二:添加当前目录下所有未被忽略管理的文件
	git add . 
	#方式三:以通配符方式添加【例如:只添加以.txt结尾的】
	git add *.txt

#将暂存区中的文件从暂存区中删除
git rm --cached 文件名

#将暂存区中的文件提交到本地仓库[只会提交暂存区中的文件,不会提交没有添加到暂存区中的文件]
git commit -m '本次提交描述'

#查看本地仓库提交记录
git log

#案例:
	#第一步:在仓库中创建一个文件 1.txt 随便输入一点内容
	#第二步:查看仓库状态,可以看到有一个红色的文件
		git status
	#第三步:将文件添加到本地暂存区
		git add 1.txt
		或者
		git add .
	#第四步:查看仓库状态,可以看到有一个绿色的文件
		git status
	#第五步:将暂存区中的文件提交到本地仓库
		git commit -m '提交了1.txt文件'

相关推荐
zho_uzhou8 小时前
Git入门概念
git
爱奥尼欧17 小时前
【Git】远程分支删了本地还在、两个分支历史不相干?两招故障排解
开发语言·git
Java后端的Ai之路17 小时前
Git冲突完整排查与实战:本地修改覆盖报错到成功推送全流程复盘
开发语言·人工智能·git·python·pop
一个心烑18 小时前
配置项目git的 SSL 证书
git·网络协议·ssl
IT从业者张某某1 天前
【鸿蒙PC命令行适配】GitUI 移植的工程实践:双 Git 引擎(libgit2/gitoxide)的鸿蒙适配之路
git·华为·harmonyos
xinjia_ctrl1 天前
暑假实习总结
git·后端·spring·maven·intellij-idea
Molesidy1 天前
【Git】分别给出添加到Keil工程和IAR工程中的gitnore文件以便不跟踪编译文件的git记录
git·vscode·插件
颜颜yan_2 天前
Git Cola 鸿蒙 PC 版适配全记录:从 Qt 桌面工具到 ArkTS 原生应用
git·qt·harmonyos
知福致福2 天前
【技术复盘】Git 分支污染与提交污染事故排查与解法
大数据·git·elasticsearch
ai安歌2 天前
Git Extensions 鸿蒙 PC 适配全记录:从 WinForms 客户端到 ArkUI 原生工作台
git·华为·harmonyos