git - 如何解释git日志中的括号?

标签 git command-line

运行 git log 给我这样的输出:

commit 69b6309f09365c09a2fe10f09aee801d1fae29ee (HEAD -> master, edeviserBranch)
Author: eDeviser <eDeviser@xyz.com>
Date:   Mon Sep 2 09:53:07 2019 +0200

    added foo

commit 59a08270fb730db259a8d5819bb585a613024d97 (origin/master, origin/HEAD)
Author: eDeviser <eDeviser@xyz.com>
Date:   Mon Sep 2 09:49:50 2019 +0200

    More Text

括号里面的内容我没看懂是什么意思。括号内的文字是什么意思?这是提交基于的分支吗?如果是,HEAD -> masterorigin/masterorigin/HEAD 有什么区别?

如何解读git日志中的括号?

最佳答案

简答

它是指向相应提交的指针列表。我建议你阅读 HEADorigin .

提交和指针

git ,您有提交和指针在这些提交之间移动。分支只是指向提交的指针。假设你有一个分支 mybranch , 然后 mybranch只是一个指针。如果您在该分支上提交,指针 mybranch继续进行该提交。

HEAD 指针

HEAD : HEAD指针指向您的仓库所在的当前提交。在您的情况下,它指向提交 69b6309f09365c09a2fe10f09aee801d1fae29ee ,即:您的仓库现在正在提交 69b6309f09365c09a2fe10f09aee801d1fae29ee .括号中的内容是指向与 HEAD 相同的提交的其他指针的列表。 ,在你的例子中是 masteredeviserBranch .从该信息中,您可以看到 masteredeviserBranch还没有分歧。您可能使用文本 added foo 推送了最后一次提交到 master然后创建了一个新分支 edeviserBranch来自 master .

工作区

origin : 默认名称 git给你的远程仓库。与 origin/<pointer> ,您可以访问工作区域中的分支机构。工作区是本地和远程存储库之间的空间。 git fetch origin将远程仓库中的数据下载到本地仓库的工作区。它不 merge 任何数据,它只是下载它。举例说明工作区的概念:

git fetch origin # update data from remote origin.
# For example, your remote branch edeviserBranch will be downloaded to your working area
# and can be accessed from origin/edeviserBranch.

git checkout master # go to your local master branch
git merge origin/edeviserBranch # merge branch edeviserBranch from your working area
# to your local master branch

原点/HEAD指针

origin/HEAD : 工作区中的指针,指向默认提交,克隆您的存储库的人将检查该提交。

根据git log的输出, 指针 origin/masterorigin/HEAD都指向提交 59a08270fb730db259a8d5819bb585a613024d97 .

如果你的工作区域与你的远程仓库不同步,你执行git fetch origin (这样做,您使用远程存储库更新您的工作区域),这些指针将会改变。

关于git - 如何解释git日志中的括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57753595/

相关文章:

python - 尝试使用 python 脚本执行 git 命令

git - 如何在 JIRA 中添加 git 提交

git - 单引号用法,例如文档中的 Git 提交引用

git - 如何编辑推送的 git commit 的提交消息

javascript - 如何在命令行上运行带有js代码的php文件?

git - 如何使用 git 检测复制和粘贴的代码?

unix - 启动 screen (unix 命令)+ 在 1 个命令中运行命令?

java - 使用 netbeans gui 编辑器在 NetBeans 中编写的命令行 java 桌面应用程序中编译?

shell - 如何定期保存程序输出的最后一行?

java - 在一行上获取未知长度的未声明变量的最后 5 位数字?