Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >开发者应该知道的 50 条最实用的 Git 命令

开发者应该知道的 50 条最实用的 Git 命令

作者头像
前端修罗场
发布于 2022-07-28 23:59:39
发布于 2022-07-28 23:59:39
1.9K00
代码可运行
举报
文章被收录于专栏:Web 技术Web 技术
运行总次数:0
代码可运行

Git是一个分布式版本控制系统,可以帮助开发人员在任何规模的项目上进行协作。Linux内核的开发人员Linus Torvalds在2005年创建了Git,以帮助控制Linux内核的开发。

什么是分布式版本控制系统?

分布式版本控制系统是帮助您跟踪您对项目中的文件所做更改的系统。

此更改历史记录保存在本地机器上,在出现问题时,您可以轻松地恢复到项目的前一个版本。

Git使协作变得容易。团队中的每个人都可以在自己的本地机器上保留正在开发的存储库的完整备份。然后,多亏了BitBucket、GitHub或GitLab这样的外部服务器,他们可以安全地将存储库存储在一个地方。

这样,团队的不同成员就可以在本地复制它,每个人都可以清楚地了解整个团队所做的所有更改。

Git有许多不同的命令可以使用。我发现这50种方法是我最常使用的(因此也是最有助于记忆的)。

所以我把它们写了下来,并认为与社区分享它们会很好。我希望你发现它们有用。

如何检查你的Git配置:

下面的命令返回关于git配置的信息列表,包括用户名和电子邮件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git config -l

如何设置Git用户名:

使用下面的命令你可以配置你的用户名:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git config --global user.name "your username"

如何设置你的Git用户邮箱:

这个命令允许您设置在提交中使用的用户电子邮件地址。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git config --global user.email "xxx@example.com"

如何在Git中缓存你的登录凭证:

您可以将登录凭据存储在缓存中,这样就不必每次都输入它们。只需使用这个命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git config --global credential.helper cache

如何初始化一个Git repo:

一切都从这里开始。第一步是在项目根目录中本地初始化一个新的Git repo。你可以使用下面的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git init

如何在Git中添加一个文件到暂存区:

下面的命令将向暂存区域添加一个文件。只需将filename_here替换为要添加到暂存区域的文件的名称。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git add filename_here

如何在Git中添加暂存区中的所有文件:

如果要将项目中的所有文件添加到暂存区域,可以使用通配符‘.’。每一个文件都会为你添加。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git add .

如何在Git中只添加某些文件到暂存区域

使用下面命令中的星号,您可以在暂存区域中添加所有以'fil'开头的文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git add fil*

如何在Git中检查存储库的状态:

该命令将显示当前存储库的状态,包括暂存、未暂存和未跟踪的文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git statu

如何在Git的编辑器中提交更改:

这个命令将在终端中打开一个文本编辑器,您可以在其中写入完整的提交消息。

提交消息由更改的简短摘要、空行和之后的更改的完整描述组成。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git commit

如何在Git中通过消息提交更改:

您可以添加提交消息,而无需打开编辑器。这个命令只允许您为提交消息指定一个简短的摘要。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git commit -m "your commit message here

如何在Git中提交更改(并跳过暂存区域):

通过使用-a和-m选项,您可以使用单个命令添加和提交跟踪文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git commit -a -m"your commit message here"

如何查看Git中的提交历史:

这个命令显示当前存储库的提交历史:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git log

如何查看你的提交历史记录,包括Git中的更改:

这个命令显示提交的历史,包括所有的文件和它们的更改:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git log -p

如何在Git中看到一个特定的提交:

这个命令显示一个特定的提交。

将commit-id替换为您在提交日志中单词commit之后找到的提交id。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git show commit-id

如何查看Git的日志统计:

这个命令将导致Git日志显示关于每次提交更改的一些统计信息,包括更改的行和文件名。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git log --stat

如何在Git中使用diff查看在提交之前所做的更改:

您可以将文件作为参数传递,这样就只查看特定文件上的更改。

默认情况下,git diff只显示未暂存的更改。

我们可以使用 --staged 标志调用diff来查看任何阶段性更改。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git diff
git diff all_checks.py
git diff --staged

如何使用“git add -p”查看更改:

该命令将打开一个提示符,询问您是否要进行修改,并包含其他选项。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git add -p

如何从Git当前的工作树中删除跟踪文件:

此命令需要提交消息来解释文件被删除的原因。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git rm filename

如何在Git中重命名文件:

该命令对更改进行分级处理,然后等待提交消息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git mv oldfile newfile

如何忽略Git中的文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
创建一个.gitignore文件并提交它

如何在Git中恢复未暂存的更改:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout filename

如何恢复Git中的阶段性更改:

您可以使用-p选项标志来指定您想要重置的更改。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git reset HEAD filename
git reset HEAD -p

如何在Git中修改最近的提交:

git commit -amend允许您修改和添加最新提交的更改。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git commit -amend

! !注意! !用amend修复本地提交非常棒,你可以在修复后将其推到共享存储库中。但是您应该避免修改已经公开的提交。

如何在Git中回滚最后一次提交:

git revert将创建一个新的提交,它与给定提交的所有内容相反。

我们可以像这样使用head别名来恢复最新的提交:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git revert HEAD

如何在Git中回滚旧的提交:

您可以使用它的提交id恢复旧的提交。这将打开编辑器,以便您可以添加一个提交消息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git revert comit_id_here

如何在Git中创建一个新的分支:

默认情况下,您只有一个分支,即main分支。使用这个命令,您可以创建一个新的分支。Git不会自动切换到它——您需要使用下一个命令手动切换

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git branch branch_name

如何在Git中切换到新创建的分支:

当你想使用一个不同的分支或者一个新创建的分支时,你可以使用这个命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout branch_name

如何在Git中列出分支:

可以使用git branch命令查看所有创建的分支。它将显示所有分支的列表,并用星号标记当前分支,并用绿色高亮显示。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git branch

如何在Git中创建分支并立即切换到它:

在单个命令中,您可以立即创建并切换到一个新的分支。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout -b branch_name

如何在Git中删除分支:

当你完成了一个分支的工作并合并了它,你可以使用下面的命令删除它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git branch -d branch_name

如何在Git中合并两个分支:

要将你当前所在分支的历史与branch_name合并,你需要使用下面的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git merge branch_name

如何在Git中以图形形式显示提交日志:

我们可以使用--graph来获取以图形形式显示的提交日志。同时,

--oneline将把提交消息限制为一行。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git log --graph --oneline

如何在Git中显示提交日志的所有分支:

执行与上面命令相同的操作,但适用于所有分支。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git log --graph --online --all

如何在Git中中止合并冲突:

如果你想扔掉一个合并并重新开始,你可以运行以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git merge --abort

如何在Git中添加远程存储库

该命令将远程存储库添加到本地存储库(只需用远程repo URL替换https://repo_here)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git add remote https://repo_here

如何在Git中查看远程url:

使用这个命令可以查看本地存储库的所有远程存储库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git remote -v

如何在Git中获取远程repo的更多信息:

只需将origin替换为所获得的远程服务器的名称

运行git remote -v命令。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git remote show origin

如何在Git中推送更改到远程repo:

当你的所有工作都准备好保存到远程存储库时,你可以使用下面的命令推送所有更改:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git push

如何从Git的远程repo中获取更改:

如果其他团队成员正在处理您的存储库,您可以使用以下命令检索对远程存储库所做的最新更改:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git pull

如何检查Git跟踪的远程分支:

这个命令显示了Git正在跟踪当前存储库的所有远程分支的名称:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git branch -r

如何在Git中获取远程repo更改:

这个命令将从远程repo下载更改,但不会在本地分支上执行合并(git pull会这样做)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git fetch

如何在Git检查当前提交日志的远程repo

每次提交之后,Git都会建立一个日志。使用这个命令可以找到远程存储库日志:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git log origin/main

如何在Git中合并远程repo和本地repo:

如果远程存储库有你想要与本地合并的更改,那么这个命令会帮你完成:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git merge origin/main

如何在Git中获取远程分支的内容而不自动合并:

这使您可以在不将任何内容合并到本地分支的情况下更新远程。你可以调用git merge或git checkout来进行合并。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git remote update

如何在Git中推送一个新的分支到一个远程repo:

如果要将分支推入远程存储库,可以使用下面的命令。只需要记住添加-u来创建上游分支:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git push -u origin branch_name

如何在Git中删除远程分支:

如果你不再需要远程分支,你可以使用下面的命令删除它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git push --delete origin branch_name_here

如何使用Git rebase:

可以使用git rebase将已完成的工作从一个分支转移到另一个分支

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git rebase branch_name_here

如果操作不当,Git Rebase会变得非常混乱。在使用这个命令之前,我建议您重新阅读官方文档(https://git-scm.com/book/it/v2/Git-Branching-Rebasing )

如何在Git中交互式地运行rebase:

您可以使用-i标志交互式地运行git rebase。

它将打开编辑器并显示一组您可以使用的命令。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git rebase -i master
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit

如何在Git中强制push请求:

这个命令将强制一个推送请求。这对于pull请求分支通常是好的,因为其他人不应该克隆它们。但这不是你想用公共仓库来做的事。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git push -f

结尾

这些命令可以显著提高您在Git中的工作效率。你们不需要全部记住——这就是我写这个小抄的原因。把这一页加为书签,以便将来参考,如果你愿意也可以打印出来。

感谢你的阅读!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端修罗场 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何使用Git:参考指南
开发人员和开源软件维护人员团队通常通过支持协作的分布式版本控制系统Git来管理他们的项目。
信姜缘
2018/11/16
1.4K0
【Git】Git 完全指南:从入门到精通
Git 是现代软件开发中最重要的版本控制工具之一,它帮助开发者高效地管理项目,支持分布式协作和版本控制。无论是个人项目还是团队开发,Git 都能提供强大的功能来跟踪、管理代码变更,并保障项目的稳定性与可持续发展。本篇文章从基础命令讲起,逐步深入,帮助你全面了解并掌握 Git,最终达到精通。
LuckiBit
2024/12/11
4.6K0
【Git】Git 完全指南:从入门到精通
Git使用教程(看完会了也懂了)
默认打开的地址是应该是用户目录,也就是c盘Users下某个地方,下面就先在固定的地址新建一个空的目录作为我们的新项目,叫做FastApiProject:
MinChess
2023/08/13
1.6K0
Git使用教程(看完会了也懂了)
如何使用 Git:参考指南
开发人员和开源软件维护人员团队通常通过 Git(一种支持协作的分布式版本控制系统)管理他们的项目。
梦溪
2021/09/08
1.3K0
给自己点时间再记记这200条Git命令
image.png 我平时使用 Git 的时候,很多的 Git 命令我都不是很常用,工作中一般我们会配合一些可视化工具,或者编辑器自带的一些插件去维护 Git 仓库,但是我们也要记得一些常用 Git
wscats
2020/06/06
1.2K0
50 多个对所有人有用的 Git 命令
Git 是目前最流行的版本控制系统之一,被广泛用于软件开发和团队协作。无论您是初学者还是有经验的开发人员,熟悉Git的基本命令是必不可少的。在本文中,我们将分享50多个常用的Git命令,并为每个命令提供详细的示例,帮助您更好地理解和使用它们。
网络技术联盟站
2023/06/08
3550
50 多个对所有人有用的 Git 命令
每个 Tester 都应该知道的 Git 命令
如果你的机器上没有安装Git,可以查看这篇文章 How to Install Git on Mac and Generate SSH Keys.
RiemannHypothesis
2022/11/05
1.8K0
Git——常用命令总结
思索
2024/08/14
1140
Git的奇技淫巧?
Git是一个“分布式版本管理工具”,简单的理解版本管理工具:大家在写东西的时候都用过“回撤”这个功能,但是回撤只能回撤几步,假如想要找回我三天之前的修改,光用“回撤”是找不回来的。而“版本管理工具”能记录每次的修改,只要提交到版本仓库,你就可以找到之前任何时刻的状态(文本状态)。 下面的内容就是列举了常用的git命令和一些小技巧,可以通过"页面内查找"的方式进行快速查询:Ctrl/Command+f。 开卷必读 如果之前未使用过Git,可以学习廖老师的免费Git教程入门 一定要先测试命令的效果后,再用于工作
逸鹏
2018/04/10
7360
简单的Git常识
<img src="https://i.loli.net/2021/10/14/2VkCxGANThj8XJO.png" style="zoom:50%;" />
patientCat
2022/07/26
3900
Git 常见命令及其命令组合
GeekLiHua
2024/08/22
1370
Git 的一些事
假设远程分支上有2个提交,然后基于远程develop,再创建一个分支feature。
腾讯工蜂
2018/11/20
11.6K0
Git 速查表(速查大全)
原文链接:http://blog.kesixin.xin/article/61 今天查git命令的时候看到这篇文章,总结的很好,转载一发 Git命令大致分为这几个模块: 序号 模块 功能 1 CREATE 关于创建的 2 LOCAL CHANGES 关于本地改动方面的 3 COMMIT HISTORY 关于提交历史的 4 BRANCHES & TAGS 关于分支和标签类的 5 UPDATE & PUBLISH 关于更新和发布的 6 MERGE & REBASE 关于分支合并类的 7 UNDO
一个淡定的打工菜鸟
2018/09/06
5650
走在前沿的弄潮儿,怎能不会Git的那些奇技淫巧
本文介绍了七十多种常用的 Git 命令与技巧,项目作者削微寒在开源工作上也做了非常多的贡献。目前 Git 奇技淫巧项目已经获得了 6.8K 的 Star,他还构建了另一个 1.1W+ 的开源项目集锦 HellowGitHub。
小小詹同学
2019/05/10
7160
走在前沿的弄潮儿,怎能不会Git的那些奇技淫巧
git 命令大全
阮一峰 git 学习 :https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
xyzzz
2020/12/12
6220
git 命令大全
女朋友说总是记不住Git命令,怎么办?安排!
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天,点击查看活动详情
zayyo
2023/11/24
1890
Git必知必会
Git是一个分布式的版本控制软件,最初是由Linus Torvalds发起的开源项目。没错,就是那个写了Linux内核源码并发起开源项目的男人。2005年,为了管理Linux内核的源代码,开发并开源了git。
Coderoger
2021/10/20
6670
Git常用命令备忘
Git配置 git config --global user.name "robbin" git config --global user.email "fankai@gmail.com" git config --global color.ui true git config --global alias.co checkout git config --global alias.ci commit git config --global alias.st status git config --
晚晴幽草轩轩主
2018/03/27
8800
git必知必会
暂存区(stage / index): 保存了下次将提交的文件列表信息, 一般存放在 .git目录下 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
互联网金融打杂
2019/05/23
9990
收藏!一文搞定工作中Git的使用实践和常用命令合集
从本质上来讲 Git 是一个内容寻址(content-addressable)文件系统,并在此之上提供了一个版本控制系统的用户界面。
洋仔聊编程
2022/12/01
5260
收藏!一文搞定工作中Git的使用实践和常用命令合集
相关推荐
如何使用Git:参考指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验