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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 开发者应该知道的 50 条最实用的 Git 命令

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

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

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

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

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

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

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

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

如何检查你的Git配置:

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

git config -l

如何设置Git用户名:

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

git config --global user.name "your username"

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

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

git config --global user.email "xxx@example.com"

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

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

git config --global credential.helper cache

如何初始化一个Git repo:

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

git init

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

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

git add filename_here

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

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

git add 

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

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

git add fil*

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

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

git statu

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

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

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

git commit

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

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

git commit -m "your commit message here

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

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

git commit -a -m"your commit message here"

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

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

git log

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

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

git log -p

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

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

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

git show commit-id

如何查看Git的日志统计:

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

git log --stat

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

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

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

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

git diff
git diff all_checks.py
git diff --staged

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

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

git add -p

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

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

git rm filename

如何在Git中重命名文件:

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

git mv oldfile newfile

如何忽略Git中的文件:

创建一个.gitignore文件并提交它

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

git checkout filename

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

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

git reset HEAD filename
git reset HEAD -p

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

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

git commit -amend

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

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

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

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

git revert HEAD

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

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

git revert comit_id_here

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

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

git branch branch_name

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

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

git checkout branch_name

如何在Git中列出分支:

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

git branch

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

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

git checkout -b branch_name

如何在Git中删除分支:

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

git branch -d branch_name

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

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

git merge branch_name

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

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

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

git log --graph --oneline

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

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

git log --graph --online --all

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

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

git merge --abort

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

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

git add remote https://repo_here

如何在Git中查看远程url:

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

git remote -v

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

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

运行git remote -v命令。

git remote show origin

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

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

git push

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

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

git pull

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

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

git branch -r

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

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

git fetch

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

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

git log origin/main

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

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

git merge origin/main

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

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

git remote update

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

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

git push -u origin branch_name

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

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

git push --delete origin branch_name_here

如何使用Git rebase:

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

git rebase branch_name_here

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

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

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

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

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请求分支通常是好的,因为其他人不应该克隆它们。但这不是你想用公共仓库来做的事。

git push -f

结尾

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

感谢你的阅读!



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
存储 开发工具 git
|
18天前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
39 1
[Git]入门及其常用命令
|
3月前
|
开发工具 git
【GIT 第二篇章】GIT常用命令
Git常用命令涵盖初始化、状态管理、提交、分支处理、远程操作等关键流程。`git init`启动本地仓库,`git clone`下载远程仓库。通过`git status`和`git diff`检查工作状态与差异。利用`git add`暂存文件,`git commit`保存更改。借助`git branch`、`git checkout`、`git merge`和`git rebase`管理分支。使用`git fetch`、`git pull`和`git push`同步远程仓库。通过`git reset`、`git revert`和`git checkout`实现版本回退。
69 0
|
1月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
113 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
21天前
|
开发工具 git 开发者
|
21天前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
42 0
|
2月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
无论团队项目还是个人开发,掌握 Git 命令都是必备技能。本文介绍 Git 的基本概念与命令,如初始化仓库 (`git init`)、添加文件 (`git add`)、提交更改 (`git commit`)、检出分支 (`git checkout`)、合并分支 (`git merge`) 等,还分享了高级技巧如查看差异 (`git diff`)、撤销提交 (`git revert`)、修复合并冲突 (`git mergetool`) 和使用别名简化命令 (`git config --global alias.ci commit`)。
|
2月前
|
机器学习/深度学习 Shell 开发工具
Python使用管道执行git命令报错|4-7
Python使用管道执行git命令报错|4-7
|
2月前
|
存储 Linux 开发工具
Git基础命令,分支,标签的使用【快速入门Git】
本文详细介绍了Git版本控制系统的基础概念和常用命令,包括工作区、暂存区和版本库的区别,文件状态的变化,以及如何进行文件的添加、提交、查看状态、重命名、删除、查看提交历史、远程仓库操作和分支管理,还涉及了Git标签的创建和删除,旨在帮助读者快速入门Git。
Git基础命令,分支,标签的使用【快速入门Git】
|
2月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
本文介绍 Git 的核心概念,如仓库、提交、分支与合并,并提供了常用命令,如初始化仓库 (`git init`)、提交更改 (`git commit -m "Commit message"`)、拉取 (`git pull`) 和推送 (`git push`) 等。此外,还分享了高级技巧,如撤销提交 (`git revert <commit>`)、交互式暂存 (`git add -i`) 和使用别名简化命令 (`git config --global alias.ci commit`) 等,帮助开发者提升效率。无论是初学者还是资深开发者,都能从中受益。