Git常用指令

文章目录

配置Git

设置用户名称 和 e-mail 地址

bash 复制代码
git config [--global] user.name "Your Name"
git config [--global] user.email "email@example.com"

--global 是⼀个可选项,如果使⽤了该选项,表⽰这台机器上所有的 Git 仓库都会使⽤这个配置。

删除对应配置配置的命令

bash 复制代码
git config [--global] --unset user.name
git config [--global] --unset user.email

创建⼀个 Git 本地仓库

在⽂件⽬录下执行

bash 复制代码
git init

添加文件

使用 git add 命令可以将⽂件添加到暂存区

添加⼀个或多个⽂件到暂存区

bash 复制代码
git add [file1] [file2] ...

添加指定⽬录到暂存区,包括⼦⽬录

bash 复制代码
 git add [dir]

添加当前⽬录下的所有⽂件改动到暂存区

bash 复制代码
git add .

使用 git commit 命令将暂存区内容添加到本地仓库中

提交暂存区全部内容到本地仓库中

bash 复制代码
git commit -m "message"  

提交暂存区的指定⽂件到仓库区:

bash 复制代码
git commit [file1] [file2] ... -m "message"

git commit 后⾯的 -m 选项,要跟上描述本次提交的 message,由⽤⼾⾃⼰完成,这部分内容绝对不能省略,并要好好描述,是⽤来记录你的提交细节,是给我们自己看的。

查看git的信息

查看历史提交记录

bash 复制代码
git log [--graph] [--pretty=oneline] [--abbrev-commit]

查看本地的每⼀次命令

bash 复制代码
git reflog

查看状态

bash 复制代码
git status

显示暂存区和工作区文件的差异

bash 复制代码
git diff [file]

查看当前本地所有分支

bash 复制代码
git branch

版本回退

执⾏ git reset 命令⽤于回退版本,可以指定退回某⼀次提交的版本。要解释⼀下"回退"本质是要将版本库中的内容进行回退,工作区或暂存区是否回退由命令参数决定

bash 复制代码
git reset [--soft | --mixed | --hard] [HEAD]  
--soft  参数对于⼯作区和暂存区的内容都不变,只是将版本库回退到某个指定版本。

--mixed  为默认选项,使⽤时可以不⽤带该参数。
该参数将暂存区的内容退回为指定提交版本内容,⼯作区⽂件保持不变。

--hard  参数将暂存区与⼯作区都退回到指定版本。切记⼯作区有未提交的代码时不要⽤这个
命、令,因为⼯作区会回滚,你没有提交的代码就再也找不回了,所以使⽤该参数前⼀定要慎重。

HEAD 说明
可直接写成 commit id,表⽰指定退回的版本
HEAD 表⽰当前版本
HEAD^ 上⼀个版本
HEAD^^ 上上⼀个版本 
...


可以使⽤ 〜数字表⽰:
HEAD~0 表⽰当前版本
HEAD~1 上⼀个版本 
HEAD~2 上上⼀个版本 
...

撤销修改

让工作区的文件回到最近⼀次 add 或 commit 时的状态

bash 复制代码
git checkout -- [file]

分支管理

创建分支

bash 复制代码
git branch dev #新建分⽀dev

切换分支

bash 复制代码
git checkout dev

合并分支

bash 复制代码
git merge [--no-ff -m "merge with no-ff"] dev2

--no-ff 表示要进行一次重新的commit

删除分支

cpp 复制代码
git branch -d name

-D 强行删除分支

bug 分支

将当前的工作区信息进行储藏

cpp 复制代码
git stash

查看stash列表

cpp 复制代码
git stash list 

将stash数据恢复出来

cpp 复制代码
git stash pop

远程操作

创建SSH Key

bash 复制代码
 ssh-keygen -t rsa -C "email"

克隆远程仓库

bash 复制代码
git clone 地址

查看远程库的信息

bash 复制代码
git remote -v 

向远端推送

bash 复制代码
git push <远程主机名> <本地分⽀名>:<远程分⽀名>

# 如果本地分⽀名与远程分⽀名相同,则可以省略冒号:
git push <远程主机名> <本地分⽀名>

拉取远程仓库

bash 复制代码
git pull <远程主机名> <远程分⽀名>:<本地分⽀名>

# 如果远程分⽀是与当前分⽀合并,则冒号后⾯的部分可以省略。
git pull <远程主机名> <远程分⽀名>

给命令配置别名

将 git status 简化为 git st

bash 复制代码
git config --global alias.st status

--global 参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有⽤。如果不加,那只针对当前的仓库起作⽤。

配置⼀个 git last ,让其显⽰最后⼀次提交信息

bash 复制代码
 git config --global alias.last 'log -1'

标签管理

标签 tag ,可以简单的理解为是对某次 commit 的⼀个标识,相当于起了⼀个别名。

创建标签

在Git中打标签⾮常简单,⾸先,切换到需要打标签的分支上

bash 复制代码
git tag [name]

查看所有标签

bash 复制代码
git tag

在指定的commit上打标签

bash 复制代码
 git tag name commitid

查看标签信息

bash 复制代码
git show [tagname]

Git 还提供可以创建带有说明的标签,⽤-a指定标签名,-m指定说明文字

bash 复制代码
 git tag -a [name] -m "XXX" [commit_id]

操作标签

删除标签

bash 复制代码
git tag -d name

推送标签到远程

bash 复制代码
git push origin <tagname>

# 如果你本地有很多标签,也可以⼀次性的全部推送到远端
git push origin --tags

删除远程标签

首先需要先把标签从本地删除

bash 复制代码
git push origin :name

name 要写在:后面

相关推荐
Elastic 中国社区官方博客43 分钟前
如何将数据从 AWS S3 导入到 Elastic Cloud - 第 3 部分:Elastic S3 连接器
大数据·elasticsearch·搜索引擎·云计算·全文检索·可用性测试·aws
掘金-我是哪吒1 小时前
微服务mysql,redis,elasticsearch, kibana,cassandra,mongodb, kafka
redis·mysql·mongodb·elasticsearch·微服务
Aloudata2 小时前
从Apache Atlas到Aloudata BIG,数据血缘解析有何改变?
大数据·apache·数据血缘·主动元数据·数据链路
水豚AI课代表2 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc
研究是为了理解2 小时前
Git Bash 常用命令
git·elasticsearch·bash
DKPT3 小时前
Git 的基本概念和使用方式
git
拓端研究室TRL5 小时前
【梯度提升专题】XGBoost、Adaboost、CatBoost预测合集:抗乳腺癌药物优化、信贷风控、比特币应用|附数据代码...
大数据
黄焖鸡能干四碗5 小时前
信息化运维方案,实施方案,开发方案,信息中心安全运维资料(软件资料word)
大数据·人工智能·软件需求·设计规范·规格说明书
编码小袁5 小时前
探索数据科学与大数据技术专业本科生的广阔就业前景
大数据
WeeJot嵌入式6 小时前
大数据治理:确保数据的可持续性和价值
大数据