Git的学习,从入门到入土

Git常用命令

Git全局设置

安装完Git后,要先设置用户名称和email地址。因为每次Git提交都会使用该用户信息。

设置用户信息

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

git config --global user.email "......"

查看配置信息

git config --list

获取Git仓库

要使用Git对代码进行版本控制,首先要获得Git仓库。

获取Git仓库通常有两种方式:

  1. 在本地初始化一个Git仓库(不常用)
  2. 从远程仓库克隆

在本地初始化仓库

在任意目录下创建一个空目录作为本地git仓库,进入这个目录中,点击右键打开Git bash窗口,再指定命令 git init

然后再目录中会出现一个.git文件夹(此文件夹为隐藏文件夹),说明Git仓库创建成功

从远程仓库克隆

可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地

一些概念

  • 版本库:以上提到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息、文件版本信息等
  • 工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
  • 暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方

工作区通过指令 git add 将对工作区的开发代码的修改放到暂存区,暂存区通过指令 git commit 将其修改提交到版本库

Git工作区中的文件存在两种状态:

  • untracked 未跟踪(未被纳入版本控制)
  • tracted 已跟踪(被纳入版本控制)
    • Unmodified 未修改状态
    • Modified 已修改状态
    • Staged 已暂存状态

Git本地仓库常用命令

本地仓库操作

本地仓库常用命令如下:

  • git status 查看文件状态
  • git add 将文件的修改加入暂存区
  • git reset 将暂存区的文件取消暂存或者是切换到指定版本
  • git commit 将暂存区的文件修改提交到版本库
  • git log 查看日志

关于git reset:

reset参数是重置命令

  • --hard是重置代码仓库版本

有三种模式

  • -soft 、--mixed以及--hard是三个恢复等级。

使用--soft就仅仅将头指针恢复,已经add的暂存区以及工作空间的所有东西都不变。 如果使用--mixed,就将头恢复掉,已经add的暂存区也会丢失掉,工作空间的代码什么的是不变的。 如果使用--hard,那么一切就全都恢复了,头变,aad的暂存区消失,代码什么的也恢复到以前状态。

以--hard为例: git reset --hard [版本id] 命令就是恢复到指定版本id对应的版本

在git log查看日志后,日志中的commit后面的一串字符串就是版本id

关于git commit:

git commit -m "注释信息" 提交的文件名

-m意思是给本次提交加上注释信息,建议使用-m进行提交,否则会弹出一个注释编辑器(较难使用),直接使用-m进行注释即可

远程仓库操作

远程仓库常用命令如下:

  • git remote 查看远程仓库
  • git remote add 添加远程仓库
  • git clone 从远程仓库克隆
  • git pull 从远程仓库拉取
  • git push 推送到远程仓库

从远程仓库拉取

git pull命令的作用是从远程仓库获取最新版本合并到本地仓库,命令格式:

git pull short-name branch-name

short-name是指远程仓库名,branch-name是指分支名

如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错,如果要强行拉取,可以再git pull命令最后加上

--allow-unrelated-histories

推送到远程仓库

git push命令的作用是将本地仓库的新版本推送到远程仓库,命令格式:

git push short-name branch-name

short-name是指远程仓库名,branch-name是指分支名

分支操作

分支是Git使用过程中非常重要的概念。使用分支意味着可以把工作从开发主线上分离开来,避免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。通过git init命令创建本地仓库的时候会默认创建一个master分支。

关于分支的相关命令:

  • git branch 查看分支
  • git branch name 创建分支
  • git checkout name 切换分支
  • git push shortName name 推送到远程仓库分支
  • git merge name 合并分支

查看分支时,看到的分支前有一个*符号,并且该分支是绿色的,说明此分支是现在所在的分支

标签操作

Git中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。比较有代表性的是可以使用这个功能类发布结点。

和标签相关的命令:

  • git tag 列出已有的标签
  • git tag name 创建标签
  • git push shortName name 将标签推送到远程仓库
  • git checkout -b branch name 检出标签

检出标签就是将指定标签的代码下载下来,下载的内容放到一个新的分支里面,branch就是用来指定这个新分支的名称

但是通常不会使用输入命令的方式来进行git操作,通常在idea中使用git,git中会有相应的按钮直接执行命令,既方便又简单,但是不好用文字描述,见相关视频即可

相关推荐
大志哥1232 小时前
idea+git插件+云备份实现项目新分支新建维护
git
恋喵大鲤鱼2 小时前
git merge
git·git merge
码客日记3 小时前
Spring Boot 配置文件敏感信息加密(Jasypt 企业级完整方案)
java·spring boot·git
_codemonster3 小时前
Codex 核心进阶玩法(技能/MCP/派生/分叉/Git/钩子/子智能体)
git
逻极3 小时前
Git 从入门到精通:版本控制协作实战指南
git·github·分支管理·版本控制
恋喵大鲤鱼3 小时前
git clean
git·git clean
Patrick_Wilson4 小时前
为省一次回归测试,该不该把多个改动堆进一条分支?
git·ci/cd·架构
恋喵大鲤鱼4 小时前
git blame
git·git blame
yeflx5 小时前
Git操作
git
恋喵大鲤鱼5 小时前
git pull
git·git pull