Git --bare ...为什么 fetch 并不总是显示最新的提交?

发布于 2024-12-07 18:14:45 字数 219 浏览 2 评论 0原文

我有一些 GIT 存储库,我在本地镜像以显示在我的 JIRA 实例中,但我注意到一些(对我来说)奇怪的行为。

我有一个存储库,我们将其称为“myrepo”。如果我执行 git clone 和 git pull,我总是会得到最新的提交。

但是,当我执行 git clone --bare 时,当我从裸存储库中执行“git fetch”时,我没有在“git log”中显示较新的提交。这是为什么?

I have a few GIT repos that I mirrored locally to show up in my JIRA instance, but I have noticed some (to me) strange behaviour.

I have a repo, we will call this "myrepo". If I do a git clone, and git pull, I always get the most recent commits.

However, when I do a git clone --bare, when I do a "git fetch" from my bare repository, I do not get the newer commits showing up in my "git log".. Why is this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

明媚殇 2024-12-14 18:14:45

取东西不会动你的头。因此,日志仅向您显示提取之前 HEAD 所在位置的历史记录。尝试 git log -all 。这将向您显示所有分支的历史记录,包括您提取的远程分支。

如果您知道您感兴趣的远程分支的名称,git log remoteBranchName也将起作用如果

您希望所有内容与远程主机同步,您必须运行
git fetch,然后 git merge 或仅运行 git pull,这与运行 fetch 和 merge 相同。如果您更喜欢特定的分支 - 例如。 master - git pull origin master

The fetch isn't moving your HEAD. Therefor, the log is only showing you the history from where HEAD was before the fetch. Try git log -all. This will show you the history of all branches, including the remote one you fetched in.

Also git log remoteBranchName will work if you know the name of the remote branch you are interested in.

If you want all everything to be in sync with the remote master, you have to run either
git fetch, then git merge or just run git pull which is the same as running fetch and merge. If you prefer a specific branch - ex. master - git pull origin master

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文