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

相关推荐
真的很上进15 小时前
【Git必看系列】—— Git巨好用的神器之git stash篇
java·前端·javascript·数据结构·git·react.js
小小安于乱15 小时前
git 更换远程地址的方法
git
高林雨露18 小时前
git 空项目初次提交项目命令记录
git
liu83418944719 小时前
git 本地分支误删,怎么恢复?误删本地已提交未推送的分支!
git
+码农快讯+19 小时前
Git clone远程仓库没有其他分支的问题
git
多恩Stone20 小时前
【Hugging Face 下载中断】Git LFS 如何下载指定文件、单个文件夹?
git·stable diffusion·huggingface·diffusers
佚明zj21 小时前
如何配置ssh key 到gitlab, 实现git push
git·ssh·gitlab
半糖112221 小时前
git配置SSH
git·ssh
橘色的喵1 天前
git 如何基于某个分支rebase?
git·rebase
未来可期LJ1 天前
【Git 操作】Git 的基本操作
git