问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Git详解及常用命令

创作时间:
作者:
@小白创作中心

Git详解及常用命令

引用
CSDN
1.
https://m.blog.csdn.net/qq_45855825/article/details/145855833

Git是一个广泛使用的分布式版本控制系统,它可以帮助开发者轻松管理代码的版本和协作开发。本文将详细介绍Git的基本概念、常用命令以及工作流程,适合Git初学者学习使用。

一、Git概述

Git是一个分布式版本控制工具,主要用于代码版本管理和协作开发。Git仓库可以分为本地仓库和远程仓库:

  • 本地仓库:存储在自己电脑上的Git仓库
  • 远程仓库:存储在远程服务器上的Git仓库

Git的基本操作包括:

  • commit:提交,将本地文件和版本信息保存到本地仓库
  • push:推送,将本地仓库文件和版本信息上传到远程仓库
  • pull:拉取,将远程仓库文件和版本信息下载到本地仓库

Git简介

Git是一个分布式版本控制工具,主要用于代码版本管理和协作开发。Git仓库可以分为本地仓库和远程仓库:

  • 本地仓库:存储在自己电脑上的Git仓库
  • 远程仓库:存储在远程服务器上的Git仓库

Git的基本操作包括:

  • commit:提交,将本地文件和版本信息保存到本地仓库
  • push:推送,将本地仓库文件和版本信息上传到远程仓库
  • pull:拉取,将远程仓库文件和版本信息下载到本地仓库

Git全局设置

在使用Git之前,需要先进行全局设置,包括设置用户信息和查看配置信息:

git config --global user.name "用户名"
git config --global user.email "邮箱"

查看配置信息:

git config --list
git config --global --list

获取Git仓库

获取Git仓库主要有两种方式:在本地初始化一个Git仓库和从远程仓库克隆。

在本地初始化Git仓库

执行步骤如下:

  1. 在任意目录下创建一个空目录作为我们的本地Git仓库
  2. 进入这个目录,点击右键打开Git Bash窗口
  3. 执行命令git init
  4. 在当前目录中看到.git隐藏文件夹说明Git仓库创建成功

从远程仓库克隆

命令:

git clone [远程Git仓库地址]

工作区、暂存区和版本库

Git的工作流程涉及三个区域:

  • 版本库.git隐藏文件夹就是版本库,包含配置信息等
  • 工作区:包含.git文件夹的目录就是工作区,存放开发的代码
  • 暂存区.git文件夹中有很多文件,其中有一个index文件就是暂存区,临时保存修改文件的地方

Git工作区中文件的状态

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

  • untracked:未跟踪(未被纳入版本控制)
  • tracked:已跟踪(被纳入版本控制)

文件的状态会随着执行Git的命令发生变化。

本地仓库操作

本地仓库操作主要包括以下命令:

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

加入暂存区

  • 命令后面的.指定是添加所有文件
git add .
  • 只添加a.txt
git add a.txt

提交

  • 要使用-m来添加提交信息
git commit -m "提交信息"

查看日志信息

  • 查看详细的日志信息
git log
  • 查看简略的日志信息
git reflog
  • 若日志信息太多,按qctrl+c退出

回退到指定版本

  • 使用git reflog查看版本,最前面的是版本id,假设版本id为b210086
  • 再使用如下命令回退到该版本即可
git reset b210086

远程仓库操作

远程仓库操作主要包括以下命令:

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

查看远程仓库

  • 使用-v查看详细信息
git remote -v

添加远程仓库

  • 运行git remote add <shortname> <url>添加一个新的远程Git仓库,同时指定一个可以引用的简写
git remote add origin https://gitee.com/perry/repo.git
  • 注意:在远程仓库中创建了一个仓库后,远程仓库不要做初始化操作,不然无法从本地push上去。这是因为要使用git push之前,本地仓库一定要包含远程仓库的文件,不然会git push失败

推送至远程仓库

  • 命令:git push [remote-name] [branch-name]
git push origin master
  • 注意:在使用git push命令将本地文件推送至码云远程仓库时,需要进行身份认证,认证通过才可以推送
  • 若已经登录过一次,下次还需要认证,执行以下命令:
git config --global credential.helper.store

从远程仓库拉取

  • 从远程仓库获取最新版本并合并到本地仓库,命令:git pull [short-name] [branch-name]
git pull origin master
  • 注意:如果当前仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal:refusing to merge unrelated histories)。解决此问题可以在git pull命令后加入参数--allow-unrelated-histories
git pull  --allow-unrelated-histories origin master
  • 会进入vim模式,直接保存并退出即可::wq

分支操作

分支操作主要包括以下命令:

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

查看分支

  • 列出所有本地分支
git branch
  • 列出所有远程分支
git branch -r
  • 列出所有本地分支和远程分支
git branch -a

创建分支

创建分支,基于哪个分支创建的,则新分支会包含原分支的所有信息

新分支推送至远程仓库

使用新分支推送到远程仓库后会发现不同分支的内容不同,即在远程仓库中master和新分支内容不同

合并分支

将新分支(b1)的内容合并到master,先切换到master分支,再使用git mergie b1,此时b1分支就会合并到master分支,再使用git push origin master,则在远程仓库中master分支就合并了新分支的内容

标签操作

Git中的标签,指的是某个分支某个特定时间点的状态。通过标签可以很方便的切换到标记时的状态。比如用这个功能标记发布结点(v1.0、v1.2)

命令:

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

创建标签

比如在完成一个阶段的代码开发,则在提交并推送代码后,可以创建标签并推送,远程仓库中的标签有着此时的所有代码

示例:

git tag v1.0

将标签推送至远程仓库

示例:

git push origin v1.0

检出标签

使用场景:比如此时有v1.0和v2.0两个标签,且v2.0比v1.0更新,但是我们需要基于v1.0的代码进行修改,这个时候体现出标签的好处,因为我们在v1.0的时候打上了一个标签

以下代码的功能是检出v1.0标签并基于v1.0代码创建一个新的分支b1.0并切换到该新分支

git checkout -b b1.0 v1.0

使用时注意事项

  • 在写代码前先pull一下
  • 写完代码先commit,再进行pull或push操作

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号