我喜欢 git log
这篇文章的标题应该是 IFLG(像 IFLS,但你知道 Git)。
但用“f***”这个词来写帖子标题可能不太好。你知道的。
Git 是最好的
真的,我超爱 Git。我觉得它超级好用,如果使用得当,可以大幅提升团队开发速度。不过,刚开始学习 Git 的时候,我总是因为无法查看Git的进度而感到沮丧,比如我的队友在做什么,我的工作和他们的工作是如何衔接的?
我尝试了一些用于 git 的 UI,但并不满意,一切看起来都很笨重,你必须退出终端去查看 UI,然后回来弄清楚你在做什么。
当我使用 git repo 时,我最喜欢的命令之一是(希望这并不奇怪)git log
。
这将显示所有提交的日志,基本命令输出如下内容:
commit 8c2ca7c38f50e1d837485edd946916bfdciii20a1 (HEAD -> master, origin/master)
Author: Andrew Stuntz <andrewbstuntz@gmail.com>
Date: Mon Aug 20 10:20:27 2018 -0700
Fixes the resetting of form fields on the settings form
commit cc309a7cb45bfcfd7e94a49387086266dff54c05
Author: Andrew Stuntz <andrewbstuntz@gmail.com>
Date: Mon Aug 20 10:03:46 2018 -0700
Updates some styling issues and copy
commit 2d848cec12038475b9f12070547653ab212e4e6
Author: Andrew Stuntz <andrewbstuntz@gmail.com>
Date: Mon Aug 20 08:17:13 2018 -0700
Add config and format correctly
commit deec64859bc9b2ef74a987437b7864f2183940e
Author: Andrew Stuntz <andrewbstuntz@gmail.com>
Date: Thu Aug 16 11:11:42 2018 -0700
First commit, I never know what to put here?
那么我们这里发生了什么?
commit 8c2ca7c38f50e1d837485edd946916bfdciii20a1 (HEAD -> master, origin/master)
Author: Andrew Stuntz <andrewbstuntz@gmail.com>
Date: Mon Aug 20 10:20:27 2018 -0700
Fixes the resetting of form fields on the settings form
总的来说,很容易就能看到提交的顺序,从上到下,从第一个提交到最后一个提交。你会看到唯一标识每个修订版本的修订号。旁边的括号里有一些关于你分支的更多信息,这些信息指的是你的HEAD
(也就是你现在检出的)。“You also origin/master
”表示“你的”origin/master
也在这个提交中。所以“你的HEAD
”和“你的origin/master
”处于同一个修订版本。然后,你会看到“作者”和“日期”。最后,你会看到提交信息。到目前为止一切顺利,没什么复杂的。
深入git log
命令
如果你执行了git log --help
,你会得到丰富的输出。事实上,我喜欢 Git 的一个原因就是它有大量的文档,可以让你深入研究并自定义你想要的内容。我将介绍几个我最喜欢的选项,让你真正了解你的仓库里发生了什么。
第一个是git log --graph
它可以让您看到分支的图表。
* commit 8c2ca7c38f50e1d837485edd946916bfdciii20a1 (HEAD -> master, origin/master)
| Author: Andrew Stuntz <andrewbstuntz@gmail.com>
| Date: Mon Aug 20 10:20:27 2018 -0700
|
| Fix the resetting of form fields on the settings form
|
* commit cc309a7cb45bfcfd7e94a49387086266dff54c05
| Author: Andrew Stuntz <andrewbstuntz@gmail.com>
| Date: Mon Aug 20 10:03:46 2018 -0700
|
| Update some styling issues and copy
|
* commit a9b263cacd3240f6d00e7ce401fc6f6c23988cee
|\ Merge: 2d848cec deec4187
| | Author: Andrew Stuntz <andrewbstuntz@gmail.com>
| | Date: Mon Aug 20 08:19:44 2018 -0700
| |
| | Merge branch 'master' of some/private/repo
| |
| * commit deec398745bc9b2ef74a418287b7864f2183940e
现在,我们已经开始变得更加直观了,您可以轻松看到从一个分支到主分支的提交。您还可以在底部看到在合并到主分支之前对该分支所做的提交。
我非常喜欢的下一个命令是git log --oneline
这将获取输出并使每次提交成为一行,因此它大大增加了您在任何给定时间可以看到的提交数量。
8c2ca7c3 (HEAD -> master, origin/master) Fix the resetting of form fields on the settings form
cc309a7c Update some styling issues and copy
a9b263ca Merge branch 'master' of https://github.com/drews256/some/private/repo
2d848cec Add config and format correctly
deec4187 Merge pull request #1303940 from drews256/some-other-branch
现在我们有了相同数量的信息,但以 5 行简洁地显示出来。
您甚至可以将两者结合起来并获得git log --oneline --graph
。
* 8c2ca7c3 (HEAD -> master, origin/master) Fix the resetting of form fields on the settings form
* cc309a7c Update some styling issues and copy
* a9b263ca Merge branch 'master' of https://github.com/drews256/some/private/repo
|\
| * deec4187 Merge pull request #1303940 from drews256/some-other-branch
您可以获得两全其美的效果,您可以看到图表和分支以及提交,现在它们显示得简洁明了。
如果您已color
为 git 仓库全局启用此功能,则将显示全彩,每个分支都有独特的颜色,方便您查看。如果您没有启用此功能,并且希望为输出添加一些颜色,您可以运行它,git log --oneline --graph --color
然后您将看到每个分支都以漂亮的颜色显示,方便您浏览。
现在您可以轻松查看您的分支是什么以及在哪里,并确保您没有在不该在的地方工作。
您最喜欢 git 的哪些部分?
感谢Atlassian提供的封面照片。
文章来源:https://dev.to/drews256/i-love-git-log-off