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

Git命令详解

1 常用命令

1)初始化本地仓库

git init <directory>

是可选的,如果不指定,将使用当前目录。

2)克隆一个远程仓库

git clone <url>

3)添加文件到暂存区

git add <file>

要添加当前目录中的所有文件,请使用 . 代替,代码如下:

git add .

4)提交更改

git commit -m "<message>"

如果要添加对跟踪文件所做的所有更改并提交。

git commit -a -m "<message>"

5)从暂存区删除一个文件

git reset <file>

6)移动或重命名文件

git mv <current path> <new path>

7)从存储库中删除文件

git rm <file>

也可以仅使用 --cached 标志将其从暂存区中删除

git rm --cached <file>

8)显示分支

git branch

有用的标志:

  • -a:显示所有分支(本地和远程)
  • -r:显示远程分支
  • -v:显示最后一次提交的分支

9)创建一个分支

git branch <branch>

可以创建一个分支并使用 checkout 命令切换到它。

git checkout -b <branch>

10)切换到一个分支

git checkout <branch>

11)删除一个分支

git branch -d <branch>

还可以使用 -D 标志强制删除分支。

git branch -D <branch>

12)合并分支

git merge <branch to merge into HEAD>

有用的标志:

  • --no-ff:即使合并解析为快进,也创建合并提交
  • --squash:将指定分支中的所有提交压缩为单个提交

快进合并

非快进合并

建议不要使用 --squash 标志,因为它会将所有提交压缩为单个提交,从而导致提交历史混乱。

13)变基分支

变基是将一系列提交移动或组合到新的基本提交的过程。

git rebase <branch to rebase from>

14)查看之前的提交

git checkout <commit id>

15)恢复提交

git revert <commit id>

16)重置提交

git reset <commit id>

还可以添加 --hard 标志来删除所有更改,但请谨慎使用。

git reset --hard <commit id>

17)查看存储库的状态

git status

18)显示提交历史

git log

19)显示对未暂存文件的更改

git diff \

还可以使用 --staged 标志来显示对暂存文件的更改。

git diff --staged

20)显示两次提交之间的变化

git diff <commit id 01> <commit id 02>

21)存储更改

stash 允许您在不提交更改的情况下临时存储更改。

git stash

还可以将消息添加到存储中。

git stash save "<message>"

22)列出存储

git stash list

23)申请一个藏匿处

应用存储不会将其从存储列表中删除。

git stash apply <stash id>

如果不指定,将应用最新的 stash(适用于所有类似的 stash 命令)

还可以使用格式 stash@{} 应用存储(适用于所有类似的存储命令)

git stash apply stash@{0}

24)删除一个藏匿处

git stash drop <stash id>

25)删除所有藏匿处

git stash clear

26)应用和删除存储

git stash pop <stash id>

27)显示存储中的更改

git stash show <stash id>

28)添加远程仓库

git remote add <remote name> <url>

29)显示远程仓库

git remote

添加 -v 标志以显示远程存储库的 URL。

git remote -v

30)删除远程仓库

git remote remove <remote name>

31)重命名远程存储库

git remote rename <old name> <new name>

32)从远程存储库中获取更改

git fetch <remote name>

33)从特定分支获取更改

git fetch <remote name> <branch>

34)从远程存储库中拉取更改

git pull <remote name> <branch>

35)将更改推送到远程存储库

git push <remote name>

36)将更改推送到特定分支

git push <remote name> <branch>

以上命令中,[tag name]是标签名称。

注:标签名称不能与分支名冲突。

2 误删除恢复

在使用GitLab命令行时,可能会不小心误删除文件或目录。在Git中,误删除文件和目录的情况是比较普遍的。下面是一些处理误删除的命令:

# 恢复删除的文件
git checkout [file name]# 恢复删除的目录
git checkout [dir name/]# 恢复删除的所有文件和目录
git checkout .

3 基本 Git 概念

  • 默认分支名称:main
  • 默认远程名称:origin
  • 当前分支参考:HEAD
  • HEAD 的父级:HEAD^ 或 HEAD~1
  • HEAD 的祖父母:HEAD^^ 或 HEAD~2

 

 

http://www.lryc.cn/news/131957.html

相关文章:

  • 【STM32RT-Thread零基础入门】 4. 线程介绍(理论)
  • css学习3(三种样式表与样式控制优先级)
  • 【JS深层解析】内存
  • 第二章:25+ Python 数据操作教程(第十四节NUMPY 教程与练习)
  • Pycharm与Anaconda Python的开发环境搭建
  • 2.创建小程序
  • XenDesktop5.6如何连接数据库
  • OAuth2.0一 Spring Security OAuth2.0
  • 【linux】kernel编译时相关报错
  • C语言 功能型API --------------------strcat()
  • 企业展示小程序搭建指南
  • 大模型技术实践(一)|ChatGLM2-6B基于UCloud UK8S的创新应用
  • Flink状态和状态管理
  • 【3Ds Max】布料命令的简单使用
  • 用 VB.net,VBA 两种方式 读取单元格内的 换行数据,并出力到 CSV文件
  • kafka线上问题优化
  • FifthOne:用于矢量搜索的计算机视觉接口
  • 认识Axios
  • 系统架构设计专业技能 · 信息安全技术
  • kafka晋升之路-理论+场景
  • (牛客网)链表相加(二)
  • Vs code 使用中的小问题
  • vue2和vue3
  • 火山引擎ByteHouse:一套方案,让OLAP引擎在精准投放场景更高效
  • 【论文阅读】SHADEWATCHER:使用系统审计记录的推荐引导网络威胁分析(SP-2022)
  • Mac 使用 rar 命令行工具解压和压缩文件
  • 7.maven
  • MySQL 主从复制遇到 1590 报错
  • games101-windows环境配置(CMake+vcpkg+VS2019)
  • 2023年Java核心技术面试第五篇(篇篇万字精讲)