Git 入门教程:基础操作与版本控制

一、Git的三种工作状态与工作模式

工作状态:

状态描述
已提交 (committed)数据已安全存储在本地数据库中
已修改 (modified)文件已被修改但尚未保存
已暂存 (staged)标记了已修改的文件版本,准备在下次提交中包含该版本

工作模式:

分类描述
工作区电脑中可见的项目目录,用户的本地工作空间
暂存区Git 的版本库中包含的暂存区(stage或index),用于存储将要提交的更改
Git仓库隐藏目录 .git,不属于工作区,包含版本库和历史记录

基本工作流程:

  1. 在工作区修改文件
  2. 将修改的文件快照添加到暂存区
  3. 提交更新,将暂存区的文件永久存储到 Git 仓库中

配置用户信息:

git config --global user.name '用户名'
git config --global user.email '邮箱地址'
git config --list  # 查看所有配置
二、Git 基础操作
  1. 初始化版本库:
git init

初始化版本库

  1. 将文件添加到暂存区:
git add gitTest.txt
  1. 查看暂存区状态:
git status

查看状态

  1. 将暂存区的文件提交到 Git 仓库:
git commit -m '这里写对文件的描述'

提交文件

  1. 查看提交日志:
git log  # 显示提交的日志

查看提交日志

三、版本回退

在对工作区进行修改后直接提交,而没有将修改保存到暂存区会导致错误:

错误示例

此时可以使用以下命令对比版本:

git diff HEAD -- git01.txt

版本对比

理解差异比较:

  • --:表示变动前的文件
  • ++:表示变动后的文件
  • @@ -1,2 +1,3 @@的含义是:
    • -1,2表示在第一个文件的第1行到第2行的内容
    • +1,3表示变动后在第二个文件的第1行到第3行的内容

为了查看最近的几个版本,可以使用:

git log -3 --pretty=oneline

查看最近几个版本

返回到上一个版本:

git reset --hard HEAD^  # 回退一个版本
  • ^:表示上一个版本
  • ^^:表示上上个版本
  • ~n:回退n个版本

版本回退

要回到特定版本,可以使用版本号:

git reset --hard 3d1e9  # 回到指定的版本

回到特定版本

如果版本 ID 消失,可以使用:

git reflog  # 查看本地 HEAD 的历史引用记录

查看引用记录

四、撤销暂存区文件的提交

如果不小心将文件暂存,可以使用以下命令撤销:

git reset HEAD  # 撤销暂存区的文件

撤销暂存

五、文件的删除与恢复
  1. 恢复已删除的文件

若在工作区中误删除了文件,可以通过以下命令恢复:

git checkout -- 文件名

恢复已删除文件

使用这个命令后,可以确认demo01.txt已成功恢复。这里的 checkout 命令将本地仓库中的文件拉回到工作区。

  1. 删除文件

若需要删除某个文件,可以使用以下命令:

git rm 文件名  # 删除本地库及工作区中的文件

然后可以用以下命令查看当前文件状态:

git ls-files  # 查看当前工作区中的文件

查看文件状态

六、远程仓库操作

从远程仓库拉取项目

若要克隆远程项目并在本地创建副本,可以使用:

git clone 项目地址

将本地项目提交到远程仓库

  1. 首先,将更改的文件添加到暂存区:
git add 文件名
  1. 然后提交更改并附上描述信息:
git commit -m '描述'
  1. 接下来,将当前分支重命名为 main(或其他名称):
git branch -M main
  1. 最后,推送本地的 main 分支到远程仓库 origin
git push -u origin main

此后,可以使用 git pushgit pull 命令进行后续的同步操作。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值