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中会有相应的按钮直接执行命令,既方便又简单,但是不好用文字描述,见相关视频即可

相关推荐
xianwu54336 分钟前
反向代理模块
linux·开发语言·网络·git
binishuaio3 小时前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
会发光的猪。4 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
stewie65 小时前
在IDEA中使用Git
java·git
晓理紫14 小时前
使用git lfs向huggingface提交较大的数据或者权重
git
我不是程序猿儿15 小时前
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
git
_OLi_1 天前
IDEA中新建与切换Git分支
java·spring boot·git
PyAIGCMaster1 天前
ubuntu下安装 git 及部署cosyvoice(1)
git
维__kxs76671 天前
小程序 + AI 自动直播:一部手机开启抖音挂载小程序流量主变现之旅
git·eclipse
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ2 天前
GIT GUI和 GIT bash区别
开发语言·git·bash