上进的打工人 2024-07-10 16:18 采纳率: 0%
浏览 17

git commit问题

我想请教个问题:
在gitlab web上新建一个分支,提交commit到这个分支后,在web上删除它;然后使用git clone拉取代码仓,git代码仓中用git log或者git reflog中并没有找到那个commit信息,这是为什么?
git仓库不是会记录所有的commit信息么?而且在gitlab web上可以用指定的那个commit创建分支,在本地git仓库却不行,不太理解,可以帮忙解答下吗?

  • 写回答

8条回答 默认 最新

  • 百锦再@新空间创想科技 优质创作者: 编程框架技术领域 2024-07-10 16:18
    关注

    Gpt辅助回答,我来为你把关

    在git仓库中,commit信息是永久性记录在版本历史中的,一旦commit后就不会被删除。如果在gitlab web上新建一个分支,提交commit到这个分支后,然后在web上删除这个分支,commit信息仍然会保留在git仓库中。可能的原因是你在git clone时没有拉取到所有的commit信息。 
    在git clone时,默认只会拉取master分支以及相关commit信息,如果想拉取所有分支和commit信息,可以使用以下命令:
    git clone <
    仓库地址>
    --mirror
    这样就可以将所有commit信息都拉取到本地仓库中。
    在本地git仓库中创建分支并使用指定的commit信息,可以使用以下命令: git branch <
    新分支名>
    <
    commit哈希值>

    这样就可以在本地创建一个新分支,并指定这个分支的commit信息。需要注意的是,如果在gitlab web上删除了这个分支,依然可以在本地找到这个commit信息,因为commit信息是永久性记录在版本历史中的。
    希望以上信息对你有所帮助,如果还有其他问题欢迎继续提问。


    有问题你别着急,评论留言都可以,看到马上就回复,尽量及时补充齐

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月10日