专业编程基础技术教程

网站首页 > 基础教程 正文

没人告诉你的 Git 命令

ccvgpt 2024-08-04 12:21:09 基础教程 13 ℃

Git 在我们作为软件工程师的日常工作中扮演着重要的角色,尤其是在团队中工作。无论规模如何,它都可以帮助开发人员在项目上进行协作。有很多可用的 git 命令,其中一些开发人员每天都在使用,而另一些则没有广泛使用,但值得了解它们的存在。


没人告诉你的 Git 命令

在本文中,我们将看到一些不需要知道但肯定会帮助我们成为 git 大师的命令。

在一个命令中添加和提交

git 中最常用的命令之一是git add,其次是git commit

git add .
git commit -m "提交信息"

大多数时候会想要添加所有更改的文件。我们可以使用-am标志将它们组合成一个命令,而不是编写这两个命令,这同时执行git add 。git commit

git commit -am "提交信息"

从另一个分支复制更改

在某些情况下,我们必须向多个分支添加更改,例如,如果有两个版本并且我们都支持它们,我们应该向两个分支提交更改。

让我们有两个分支,branchA和 bra n chB。我们可以使用git rebase命令,而不是手动在两个分支中提交。

git checkout branchA
git rebase branchB

将会发生的是branchA看起来像是从branchB分支出来的。

将更改添加到您的上次提交

我们都处于忘记了一个小改动的情况,为此我们必须做出新的提交。当这个变化不是很大时,我们可以使用--amend标志将它添加到我们的最后一次提交中。

git add .
git commit --amend --no-edit

使用--no-edit标志允许我们在不修改提交消息的情况下将更改应用到上次提交。

从提交中删除文件

如果我们想删除某个已提交到分支的文件,我们可以使用git reset命令。

git reset --soft HEAD^

这会将提交的文件带到暂存区,然后我们可以准确指定要删除的文件。

git reset HEAD <文件名>

查找有错误的提交

您是否遇到过引入错误的情况,并且您必须搜索该错误出现的时间和具体更改内容?如果你当时知道这个命令,这个过程会更快更容易。使用 git bisect 我们可以搜索一个创建错误的提交,首先告诉它一个有错误的“坏”提交和一个没有错误的“好”提交。

git bisect start
git bisect bad
git bisect good v.11.0.1-rc2

完成后,我们应该使用git bisect reset来清理状态并返回原始 HEAD。

git bisect reset

像图表一样查看您的历史记录

如果我们想像图表一样查看我们的 git 历史记录,可以使用一个命令轻松完成。

git log --all --decorate --oneline --graph

您可能不会每天都使用 git log,但是您可以使用一个简单的缩写来记住该命令:

“A DOG” = git log - A ll - D ecorate - O neline - G raph

获取分支之间的差异

如果我们想查看两个分支之间有什么区别,可以使用git diff命令。

git diff master

如果我们不想看到确切的差异,而只想看到文件名,我们可以添加--name-only标志。

显示更改特定文件的提交

在某些情况下,我们希望查看特定文件的所有更改,这可以使用带有--follow标志的git log来完成。

git log --follow -- <文件名>

还原所有本地更改

根据您的场景,有不同的方法可以删除本地更改。

如果您想恢复对工作副本的更改,请使用:

git restore .

如果要删除所有未推送的提交以供 master 使用:

git reset

如果您想通过提交恢复更改,请使用:

git revert <commit>

如果要删除未跟踪的文件或目录或使用:

git clean -f or git clean -fd

请继续关注第 2 部分,我们将深入了解 git。

Tags:

最近发表
标签列表