当前位置: 首页 > article >正文

git常用命令学习

目录

文章目录

  • 目录
  • 第一章 git简介
    • 1.Git 与SVN
    • 2.Git 工作区、暂存区和版本库
  • 第二章 git常用命令学习
    • 1.ssh设置
    • 2.设置用户信息
    • 3.常用命令设置
      • 1.初始化本地仓库init
      • 2.克隆clone
      • 3.查看状态 git status
      • 4.添加add命令
      • 5.添加评论
      • 6.分支操作
        • 1.创建分支
        • 2.查看分支
        • 3.切换分支
        • 4.删除分支
      • 7.查看当前远程地址
      • 8. 分支比较
      • 9.log命令
      • 10.删除命令 git rm
      • 11.添加/移除远程仓库
      • 12.从远程仓库获取代码
      • 13.命令行-tag

第一章 git简介

1.Git 与SVN

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。

Git 与 SVN 区别点:

在这里插入图片描述

2.Git 工作区、暂存区和版本库

  • 工作区:就是你在电脑里能看到的目录。
  • 暂存区:英文叫stage, 或index。一般存放在 “.git目录下” 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
  • 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

第二章 git常用命令学习

在这里插入图片描述

1.ssh设置

生成公钥私钥
ssh-keygen -t -rsa

2.设置用户信息

1.临时修改用户名和邮箱

如果只需要修改当前仓库的提交者信息,可以使用以下命令:

git config user.name "新用户名"
git config user.email "新邮箱地址"

查看临时配置:

git config user.name
git config user.email

2.全局修改用户名和邮箱

git config --global user.name "lixiaowei"
git config --global user.email "995439743@qq.com"

查看全局用户名和邮箱配置

git config --global user.name  //查看用户名
git config --global user.email //查看邮箱
git config --list    //查看其他更多信息

3.常用命令设置

1.初始化本地仓库init

初始化git仓库 一般有两种方式,一种是从远程仓库克隆一个完整的项目到本地,另一种是本地初始化一个新的git仓库。

//初始化仓库带工作区
git init
//初始仓库不带工作区
git init --bare

2.克隆clone

用于从远程仓库克隆一个完整的项目到本地。它不仅会创建一个新的 Git 仓库,还会下载所有的历史记录和分支,并将远程仓库设置为默认的上游仓库

git clone 远程仓库地址

3.查看状态 git status

是 Git 中一个非常常用的命令,用于查看当前工作目录的状态。它可以帮助你了解哪些文件已被修改、哪些文件已添加到暂存区、以及哪些文件尚未被跟踪。

//1.查看状态,命令用于显示工作目录和暂存区的状态。它告诉你有哪些修改被暂存,哪些没有,
//以及哪些文件被 Git 未跟踪。
git status
//2.查看状态 使输出信息更加简洁
git status -s
//3.显示状态并以长模式输出,列出已修改的文件的详细信息:
git status --long
//4.显示状态并以short模式输出,但不列出已跟踪的文件:
git status -u

在这里插入图片描述

4.添加add命令

//将未跟踪的文件加入暂存区
git add <文件>
//将暂存区的文件取消暂存
git reset <文件>
//1.添加单个文件到暂存区
git add 文件名
//2.添加所有文件到暂存区
git add .
//3.添加某个目录到暂存区
git add 目录名/
//4.使用通配符添加多个文件到暂存区:
git add *.txt
//5.添加所有文件和目录的变化到暂存区(包括新的文件和目录,但不包括未跟踪的文件):
git add -A
//6.添加自上次 commit 以来的所有变化到暂存区(包括删除的文件):
git add -u

//7.强制添加所有文件
git add -f . 

5.添加评论

git commit -m "文件描述"
git commit --amend  //修改最后提交

6.分支操作

1.创建分支
//创建分支
git branch <branch_name>
//创建新分支并且切换到该分支
git checkout -b <branch_name>
2.查看分支
//1.查看本地分支
git branch
//2.查看远程分支
git branch -r
//3.查看本地和远程分支
git branch -a
//4.本地创建分支
git branch 分支名称
//5.切换分支
git checkout分支名称
//6.删除分支
git branch -d 分支名称
//7.强制删除分支
git branch -D 分支名称
//8.提交本地分支到远程仓库
git push <仓库简称> <分支名称> //git push origin b1
//9.分支h合并
git merge <分支名称>
//10.删除远程仓库分支
git push <仓库简称> -d <分支名称> //git push origin -d b1
3.切换分支
//1.切换到指定分支
git checkout <branch_name>
//2.指定提交切换分支
git checkout <branch_name> <commit_hash>

//3.指定提交切换并且创建分支
git checkout -b  <分支名称>
4.删除分支
// 删除本地分支(只适用于已合并的分支)
git branch -d <branch_name>
// 强制删除本地分支 (未合并的也会被删除)
git branch -D <branch_name>
//删除远程分支
git push origin --delete <branch_name>

7.查看当前远程地址

//1.查看远程 列出指定的每一个远程服务器的简称
git remote
//2.查看远程 列出简称和地址
git remote -v
//3.查看远程仓库详细地址
git remote show <仓库简称>

8. 分支比较

git diff <branch_1> <branch_2>

9.log命令

  1. 查看特定文件的提交记录
git log <文件名>

2.查看某个分支的提交记录

git log branch-name

3.显示提交历史的分支结构

git log --graph
// 示例
git log --oneline --graph --all
// 输出
* 789abcd (HEAD -> main) Fix bug in calculation
| * abc1234 (feature-branch) Add new feature
|/
* 1234567 Initial commit

10.删除命令 git rm

//1.删除工作区和暂存区的文件:
git rm <file>
//2.仅删除工作区的文件,保留暂存区的版本(即撤销上一次的 git add):
git rm --cached <file>
//3.在删除前询问确认:
git rm -i <file>
//4.删除目录:
git rm -r <directory>
//5.仅从工作区删除,不影响暂存区和本地仓库:
git rm --cached -r <directory>
//6.强制删除文件,即使文件被修改过:
git rm -f <file>
//7.删除所有未跟踪的文件和目录(通常用于清理生产环境):
git rm -rf .

//8.如果工作区误删除,想要回退
git checkout head <文件名>

11.添加/移除远程仓库

//1.添加远程仓库
git remote add <shortname> <url>
//1.添加远程仓库
git remote rm <shormame> 

12.从远程仓库获取代码

//1.从远程仓库克隆
git clone <url>
//2.从远程仓库拉去(拉取到.git目录,不会合并到工作区,工作区发生变化)
git fetch <shormame> 
//3.手动合并 把某个版本的某个分支合并到当前工作区
git merge <shortname>/<分支名称>
//4.从远程仓库拉取=fetch+merge
git pull  <shortname> <分支名称>
git pull  <shortname> <分支名称> --allow--unrelated-histories//强制拉取合并
//5.推送到某个分支
git push [remote-name] [branch-name]
eg:git push origin master

13.命令行-tag

Git 中,tag是标记存储库历史记录中特定提交的一种方式。tag通常用于标记项目的特定版本,例如版本 1.02.0

tag可以用于指定在仓库历史记录的某个特定点上创建的版本,这在软件开发中非常有用。如果需要在软件发布时创建tag,开发人员就可以跟踪哪个版本用于真实世界中的生产环境。在软件开发中,tag还可以用于标记里程碑特定功能的实现

除此之外,tag还可以用于将存储库中的提交版本控制系统中的标记关联。这可以用于确保特定版本的软件与存储库中的特定提交相关联。在软件开发中,这可以用于确保特定版本的软件与单独的存储库分支相关联

//1.列出所有标签
git tag
//2.查看tag 详情
git show [tagname]
//3.新建一个tag
git tag [tagname]
eg:git push origin 名称 //推送到远端
//4.提交制定的tag
git push [仓库简称] [tagname]
//5.新建一个分支指向某个tag
git checkout -b [branch] [tag]
//6.删除本地tag
git tag -d [tag]
//7.删除远程tag
git push origin :refs/tags/[tag]

联**。

//1.列出所有标签
git tag
//2.查看tag 详情
git show [tagname]
//3.新建一个tag
git tag [tagname]
eg:git push origin 名称 //推送到远端
//4.提交制定的tag
git push [仓库简称] [tagname]
//5.新建一个分支指向某个tag
git checkout -b [branch] [tag]
//6.删除本地tag
git tag -d [tag]
//7.删除远程tag
git push origin :refs/tags/[tag]

http://www.kler.cn/a/514094.html

相关文章:

  • Cursor的详细使用指南
  • Android系统开发(六):从Linux到Android:模块化开发,GKI内核的硬核科普
  • Element中为什么不使用prop重置无法生效
  • MYSQL数据库基础-01.数据库的基本操作
  • Java 的初认识(一)
  • 数据分析 基础定义
  • elementUI Table组件实现表头吸顶效果
  • DuckDB:Golang操作DuckDB实战案例
  • 两个React项目部署在同一个域名,一个主地址,一个子地址,二级白屏等问题
  • 鸿蒙参考文档和问题记录
  • Python Web开发:使用FastAPI构建社交网络系统
  • 戴尔电脑用u盘重装系统_戴尔电脑用u盘重装win10系统教程
  • HTML 文本格式化详解
  • redis 5.0版本和Redis 7.0.15的区别在哪里
  • C#高级:用Csharp操作鼠标和键盘
  • 记一次 SpringBoot 静态资源加载慢的问题
  • SQLLOADER小实验
  • openharmony电源管理子系统
  • win32汇编环境,怎么得到磁盘的盘符
  • 【数据结构-堆】力扣1054. 距离相等的条形码
  • 写一个类似Chatgpt或豆包的交换界面详解
  • 【C++】在线五子棋对战项目网页版
  • springboot中配置logback-spring.xml
  • 什么是三高架构?
  • 小程序,uniapp中map的使用
  • 鸿蒙开发中的骨架图:提升用户体验的关键一环