我想请教个问题:
在gitlab web上新建一个分支,提交commit到这个分支后,在web上删除它;然后使用git clone拉取代码仓,git代码仓中用git log或者git reflog中并没有找到那个commit信息,这是为什么?
git仓库不是会记录所有的commit信息么?而且在gitlab web上可以用指定的那个commit创建分支,在本地git仓库却不行,不太理解,可以帮忙解答下吗?
git commit问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
8条回答 默认 最新
关注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信息是永久性记录在版本历史中的。
希望以上信息对你有所帮助,如果还有其他问题欢迎继续提问。
有问题你别着急,评论留言都可以,看到马上就回复,尽量及时补充齐解决 无用评论 打赏 举报 编辑记录