Git 命令大全:解锁代码版本控制的神奇秘密!

Git 命令大全:解锁代码版本控制的神奇秘密!

以下是备忘单中的所有命令:

设置

设置将附加到提交和标记的名称和电子邮件

$ git config --global user.name "Danny Adams"$ git config --global user.email "myemail@gmail.com"

使用 Git 启动项目

创建本地存储库(省略以将当前目录初始化为 git 存储库)<directory>

$ git init <directory>

下载远程存储库

$ git clone <url>

做出改变

将文件添加到暂存

$ git add <file>

暂存所有文件

$ git add .

将所有暂存文件提交到 git

$ git commit -m "commit message"

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

$ git commit -am "commit message"

基本 Git 概念

  1. main:默认开发分支

  2. origin:默认上游存储库

  3. HEAD:当前分支

  4. HEAD^:HEAD 的父级

  5. HEAD~4:HEAD的曾曾祖

分支

列出所有本地分支。添加标志以显示所有远程分支。 标志。-r``-a

$ git branch

创建新分支

$ git branch <new-branch>

切换到分支并更新工作目录

$ git checkout <branch>

创建一个新分支并切换到该分支

$ git checkout -b <newbranch>bash

删除合并的分支

$ git branch -d <branch>

删除分支,无论是否合并

$ git branch -D <branch>

向当前提交添加标签(通常用于新版本发布)

$ git tag <tag-name>

合并

将分支合并到分支中。添加无快进合并选项a``b``--no-ff

Git 中的快进与非快进合并

$ git checkout b$ git merge a

将所有提交合并并压缩为一个新提交

$ git merge --squash a

变基

将功能分支重基到 main 上(以合并对 main 所做的新更改)。防止不必要的合并提交到功能中,保持历史记录整洁

在 Git 中将功能变基到 main 上

$ git checkout feature$ git rebase main

在将分支变基到 main 之前以交互方式清理分支提交

$ git rebase -i main

以交互方式将最后 3 个提交变基到当前分支

$ git rebase -i Head~3

撤消操作

移动(&/或重命名)文件和舞台移动

$ git mv <existing_path> <new_path>

从工作目录和暂存区域删除文件,然后暂存删除

$ git rm <file>

仅从暂存区移除

$ git rm --cached <file>

查看上一次提交(只读)

$ git checkout <commit_ID>

创建一个新的提交,从指定的提交中恢复更改

$ git revert <commit_ID>

返回到上一个提交并删除之前的所有提交(恢复更安全)。添加标志以同时删除工作区更改(非常小心)--hard

$ git reset <commit_ID>

查看存储库

列出尚未提交的新文件或修改的文件

$ git status

列出提交历史记录,以及相应的 ID

$ git log --oneline

显示对未暂存文件的更改。对于暂存文件的更改,请添加选项--cached

$ git diff

显示两次提交之间的更改

$ git diff commit1_ID commit2_ID

藏匿

存储修改和暂存的更改。若要包含未跟踪的文件,请添加标志。对于未跟踪和忽略的文件,请添加标志。-u``-a

$ git stash

如上所述,但添加注释。

$ git stash save "comment"

部分藏匿。仅存储单个文件、文件集合或文件中的单个更改

$ git stash -p

列出所有藏匿处

$ git stash list

重新应用存储而不删除它

$ git stash apply

在索引 2 处重新应用存储,然后将其从存储列表中删除。省略弹出最近的存储。stash@{n}

$ git stash pop stash@{2}

显示存储 1 的差异摘要。传递标志以查看完整的差异。-p

$ git stash show stash@{1}

删除索引 1 处的存储。省略删除上次存储的内容stash@{n}

$ git stash drop stash@{1}

删除所有存储

$ git stash clear

同步

添加远程存储库

$ git remote add <alias> <url>

查看所有远程连接。添加标志以查看 URL。-v

$ git remote

删除连接

$ git remote remove <alias>

重命名连接

$ git remote rename <old> <new>

从远程存储库获取所有分支(无合并)

$ git fetch <alias>

获取特定分支

$ git fetch <alias> <branch>

获取当前分支的远程存储库副本,然后合并

$ git pull

将本地更改(变基)到对远程存储库所做的新更改的顶部(用于干净的线性历史记录)

$ git pull --rebase <alias>

将本地内容上传到远程存储库

$ git push <alias>

上传到分支(然后可以拉取请求)

$ git push <alias> <branch>

git remote rename

从远程存储库获取所有分支(无合并)```bash
$ git fetch <alias>

获取特定分支

$ git fetch <alias> <branch>

获取当前分支的远程存储库副本,然后合并

$ git pull

将本地更改(变基)到对远程存储库所做的新更改的顶部(用于干净的线性历史记录)

$ git pull --rebase <alias>

将本地内容上传到远程存储库

$ git push <alias>

上传到分支(然后可以拉取请求)

$ git push <alias> <branch>

欢迎点赞,评论,关注~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/325712.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

武汉灰京文化:技术先锋辐射游戏行业,带来全新体验乐趣无穷!

科技的持续演进&#xff0c;给游戏产业打了强心剂&#xff0c;让这个领域变得前所未有的越来越好玩儿。今天我们将深入探讨如何利用虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09;技术&#xff0c;让你玩得开心&#xff0c;玩得尽兴。 想象一下&…

.NET Standard 支持的 .NET Framework 和 .NET Core

.NET Standard 是针对多个 .NET 实现推出的一套正式的 .NET API 规范。 推出 .NET Standard 的背后动机是要提高 .NET 生态系统中的一致性。 .NET 5 及更高版本采用不同的方法来建立一致性&#xff0c;这种方法在大多数情况下都不需要 .NET Standard。 但如果要在 .NET Framewo…

Linux vi/vim 教程

文章目录 【 1. vi/vim 的三种模式 】1.1 命令模式1.2 输入模式1.3 底线命令模式 【 2. 实例 】【 3. vim 的其他命令 】 所有的 Unix Like 系统都会内建 vi 文本编辑器&#xff0c;其他的文本编辑器则不一定会存在。目前我们使用比较多的是 vim 编辑器。vim 从 vi 发展出来&am…

2024年初级会计资格考试报名照片要求,千万不要直接上传哦

2024年初级会计资格考试照片要求&#xff0c;千万不要直接上传哦。 第一步&#xff1a;支付宝搜索"亿鸣证件照"或者微信搜索”随时照“&#xff0c;然后进入小程序的搜索列表搜索"初级会计"&#xff0c;然后上传一张生活照或者自拍一张&#xff0c;就能制…

DBeaver配置达梦数据库连接

随着信创逐渐推广&#xff0c;达梦数据库也成为流行。下面展示如何使用dbeaver配置达梦数据库连接 1 驱动新建 菜单&#xff0c;数据库->驱动管理器 2 驱动信息填写 选择新建之后&#xff0c;弹出一个填写页面 需要填写的几个关键信息&#xff1a; 驱动名称&#xff1a;…

数据结构第六弹---带头双向循环链表

双向循环链表 1、带头双向循环链表概念2、带头双向循环链表的优势3、带头双向循环链表的实现3.1、头文件包含和结构定义3.2、创建新结点3.3、打印3.4、初始化3.5、销毁3.6、尾插3.7、头插3.8、头删3.9、尾删3.10、查找3.11、在pos之前插入3.12、删除pos位置3.13、判断是否为空3…

lotus-farcaster 搭建

lotus 开源监控仪表盘 安装修改配置文件监听钱包地址指定安装目录可以修改脚本指定miner配置文件路径执行安装脚本 修改修改端口为9200修改安装脚本 9100改为9200&#xff0c;重新安装修改检查脚本 端口 9200&#xff0c;重新安装 安装成功prometheus 安装创建存储目录 配置文件…

对比开源大语言模型的自然语言生成SQL能力

背景 NL-to-SQL&#xff08;自然语言到结构化查询语言&#xff09;任务是自然语言处理&#xff08;NLP&#xff09;领域的一个难题。 它涉及将自然语言问题转换为 SQL 查询&#xff0c;然后可以针对关系数据库执行该查询来回答问题。 该任务是 NLP 中的一个专门子领域&#xf…

fmincon函数求解非线性超越方程的学习记录

最近的算法中用到了fmincon函数&#xff0c;寻找多变量非线性方程最小值的函数&#xff1b;因此学习一下&#xff1b; fmincon函数的基础语法如下所示&#xff1a; fmincon函数是为了求解下列方程的最小值&#xff1b; b 和 beq 是向量&#xff0c;A 和 Aeq 是矩阵&#xff0c…

基于python的leetcode算法介绍之动态规划

文章目录 零 算法介绍一 例题介绍 使用最小花费爬楼梯问题分析 Leetcode例题与思路[118. 杨辉三角](https://leetcode.cn/problems/pascals-triangle/)解题思路题解 [53. 最大子数组和](https://leetcode.cn/problems/maximum-subarray/)解题思路题解 [96. 不同的二叉搜索树](h…

进阶C语言学习前序

我们前期用了二十天的时间&#xff0c;学习了各种函数&#xff0c;我们已经初步具有敲写代码的能力&#xff0c;但是我们想要使用C语言去学习单片机的东西还是远远不够的&#xff0c;那么我们就需要深入了解和掌握更加深入的C语言知识&#xff0c;就有了接下来的学习计划&#…