像高级工程师一样使用 Git

Git 是一款非常强大的工具,当您知道如何使用它时,会感觉非常棒。 我已经在团队和项目中使用了 Git 的这些功能多年。尽管我仍在形成一些工作流程的意见(例如squash 与 not squash),但核心工具功能强大、灵活(也可脚本化)!

查看 Git 日志

Git 默认的日志查看方式并不是很友好。

git log 命令很基础

使用 git log 命令会给您一些信息,但它的精度非常高,并且通常不是您要查找的内容。

git log

说实话,这些日志并不能给任何人留下深刻的印象。它们很无聊,而且充满了您目前不需要的信息。您想要对项目中正在发生的事情有一个高层次的理解。

但是,我们有一种更好的方式。

增强可视性的 git log

使用 –graph 和 –format 参数,我们可以快速获取项目中 git 提交记录的摘要视图,从而更好地了解提交记录。

git log --graph --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%an%C(reset)%C(bold yellow)%d%C(reset) %C(dim white)- %s%C(reset)' --all

怎样!这些提交记录看起来是不是很棒!甚至还有一个类似于分支树的图形。

这些提交记录可以告诉你谁在做什么、更改是什么时候发生的,以及你的更改如何适应更大的项目结构。

使用 –graph 参数可以在左侧添加树状图,虽然它可能不是最时尚的图表,但它有助于可视化项目分支中的更改。

使用 –format 参数可以自定义提交记录的格式。你可以选择预设格式,或像下面的示例一样编写自己的格式。

使用 –all 参数可以包括所有的引用、标签和分支(包括远程分支)在提交记录中。如果你不需要所有的信息,可以根据需要进行调整。

请查看 git-log 文档,了解如何提升你的 git 提交记录。

理解特定的提交记录

经常需要了解某个特定的提交记录所做的更改。git show 命令可以显示提交记录更改的高级视图,还可以让你查看特定文件的更改。

查看提交记录摘要:

git show <commit> --stat

使用 –stat 标志,你可以查看提交记录摘要以及更改的文件以及更改的详细信息。

查看提交记录中特定文件的更改

如果你想深入了解某个特定文件中的具体行更改,可以使用带有文件路径的 git show 命令。

git show <commit> -- <filepath>

这将为你提供特定文件的行更改。默认情况下,它将显示行更改以及文件中更改行周围的三行,以便你了解更改行的上下文。

进行更改

你在项目上创建了一个分支,在分支上提交了一些更改,并准备将这些更改合并回主分支。由于你创建分支以来,另一位工程师也对同一文件进行了更改。😱

如果你使用像 GitHub 这样的服务,你的 PR 将告诉你是否有合并冲突。

在你将更改推回主分支之前,Git 会提示你解决这些合并冲突。这是很好的,因为你不想摧毁别人所做的所有努力。

为了开始本地解决这个问题,通常会有两种路径可供选择:合并或变基。

git merge vs git rebase

当主分支上有你想要合并到你的分支中的更改时,你可以选择将这些更改合并进来,或者从另一个点上重新变基你的分支。

merge 命令将从一个分支中提取更改,并将它们合并到另一个分支中,并形成一个合并提交。

git merge origin/main your-branch

而变基命令则调整了分支实际分支出去的起点(即将分支移动到基础分支上的一个新起点)。

git rebase origin/main your-branch

通常,当上游分支(如 main 分支)中有你想要包含在你的分支中的更改时,你会使用变基。而当一个分支中有你想要放回主分支的更改时,你会使用合并。

通常情况下,如果在上游分支(如main分支)中有一些变更,你想将它们包含到你的分支中,那么你会使用 rebase。如果在一个分支中有一些变更,你想将它们合并回 main 分支中,那么你会使用 merge。

OK,这就是本文的内容。如果还有什么疑问,请在下面的评论区告诉我们。

The post 像高级工程师一样使用 Git first appeared on Linux迷.

版权声明:
作者:感冒的梵高
链接:https://www.techfm.club/p/41028.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>