首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Git 命令行教程:如何在 GitLab 中恢复已删除的分支

然而,有时候会发生意外,例如代码误合、错误的删除等情况,导致重要的开发分支本地和远程不慎被删除。本文将为您介绍如何使用 Git 命令行在 GitLab 中恢复已删除的分支,帮助您快速解决这类问题。...记住这个引用号,它将帮助您恢复被删除的分支。...第二步 恢复分支 现在,您已经有了删除分支之前的引用号,可以使用以下命令在本地仓库中恢复分支: git checkout -b dev_xj d9244f1 dev_xj:你的分支名,可以和之前删除的一样...,也可以重新命个名 d9244f1:最后一次commit 的提交号或者引用号 _20230722194928.png 第三步 推送分支 如果您希望将恢复的分支同步到 GitLab 远程仓库,可以使用以下命令将分支推送到...默认情况下,过期的 reflog 记录会在 90 天后被删除。

1.1K20

深入理解 git 一切皆 commit

tag(标签):对某个提交或者分支打 tag 之后,将固定指向那个提交,后续即使分支有更新甚至删除,tag 所指向的提交不变,且一直存在。...rebase 小结: rebase : 一连串的 cherry-pick。(移花接木) 3.3 reset reset,重置,将当前分支的状态(这里指工作区,暂存区,代码仓库)重置到指定的状态。...具体来看: git reset —hard 从参数名可以猜到,这个重置方式比较“强硬”,实际上就是,将当前分支,重置到与指定引用一样的状态,丢弃在这之后的提交,以及工作区和暂存区的提交。...当前在 f/table 分支,将其重置到 f/table~2 ,结果就是:丢弃掉 f/table 最新的两个提交。 案例2 将当前分支重置到远端最新 dev 的状态,怎么做?...案例1 将图中的 2 3 4 合并为一个提交 案例2 移除误合并 3.4 revert reset 用于修改错误,通常会修改提交历史, 这在团队协作分支上是危险且不允许的(如很多仓库的 master 分支

7400
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    开发者应该知道的 50 条最实用的 Git 命令

    git log --stat 如何在Git中使用diff查看在提交之前所做的更改: 您可以将文件作为参数传递,这样就只查看特定文件上的更改。 默认情况下,git diff只显示未暂存的更改。...git revert comit_id_here 如何在Git中创建一个新的分支: 默认情况下,您只有一个分支,即main分支。使用这个命令,您可以创建一个新的分支。...git checkout -b branch_name 如何在Git中删除分支: 当你完成了一个分支的工作并合并了它,你可以使用下面的命令删除它: git branch -d branch_name 如何在...origin/main 如何在Git中获取远程分支的内容而不自动合并: 这使您可以在不将任何内容合并到本地分支的情况下更新远程。...-delete origin branch_name_here 如何使用Git rebase: 可以使用git rebase将已完成的工作从一个分支转移到另一个分支。

    1.8K10

    开发工具Tools·Git 从入门到精通1

    撤销上次git add) $ git reset HEAD # 将HEAD重置到上一次提交的版本,并将之后的修改标记为未添加到缓存区的修改 $ git reset # 将HEAD重置到上一次提交的版本...合并: # 将分支合并到当前HEAD中 $ git merge 重置: # 将当前HEAD版本重置到分支中,请勿重置已发布的提交 $ git rebase Github..., 为 bug #14 执行 cherry-pick: (14)$ git cherry-pick 5ea5173 我想删除上游(upstream)分支被删除了的本地分支 一旦你在 github 上面合并...git fetch -p 我不小心删除了我的分支 如果你定期推送到远程, 多数情况下应该是安全的,但有些时候还是可能删除了还没有推到远程的分支。...(commit), 和分支之间不共享的提交(commit)的列表。

    1.2K30

    Git 从入门到精通,这篇包教包会!

    撤销上次git add) $ git reset HEAD # 将HEAD重置到上一次提交的版本,并将之后的修改标记为未添加到缓存区的修改 $ git reset # 将HEAD重置到上一次提交的版本...合并: # 将分支合并到当前HEAD中 $ git merge 重置: # 将当前HEAD版本重置到分支中,请勿重置已发布的提交 $ git rebase Github..., 为 bug #14 执行 cherry-pick: (14)$ git cherry-pick 5ea5173 我想删除上游(upstream)分支被删除了的本地分支 一旦你在 github 上面合并...$ git fetch -p 我不小心删除了我的分支 如果你定期推送到远程, 多数情况下应该是安全的,但有些时候还是可能删除了还没有推到远程的分支。...(commit), 和分支之间不共享的提交(commit)的列表。

    2.6K20

    git 命令怎么删除本地分支「建议收藏」

    查看所有分支 查看项目的分支: 包括本地和远程 git branch -a 删除本地分支 git branch -d git branch -d 分支名 -d 是 --delete 的缩写,在使用...--delete 删除分支时,该分支必须完全和它的上游分支 merge 完成。...git branch -D git branch -D 分支名 -D 是 --delete --force 的缩写,这样写可以在不检查 merge 状态的情况下删除分支;--force 简写 -f,作用是将当前...branch 重置到初始点(startpoint),如果不使用 --force 的话,git 分支无法修改一个已经存在的分支....本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    87530

    经典45个git使用技巧与场合,专治不会合代码。

    我想把暂存的内容变成未暂存,把未暂存的内容暂存起来 多数情况下,你应该将所有的内容变为未暂存,然后再选择你想要的内容进行commit。...例如, main分支想重置到的提交的hash为a13b85e: (main)$ git reset --hard a13b85e HEAD is now at a13b85e 签出(checkout..., 为 bug #14 执行 cherry-pick: (14)$ git cherry-pick 5ea5173 我想删除上游(upstream)分支被删除了的本地分支 一旦你在github 上面合并...$ git fetch -p 我不小心删除了我的分支 如果你定期推送到远程, 多数情况下应该是安全的,但有些时候还是可能删除了还没有推到远程的分支。...(commit), 和分支之间不共享的提交(commit)的列表。

    1.5K20

    三年 Git 使用心得 & 常见问题整理

    它会取消这个文件的暂存,而不覆盖任何更改 $ git reset # 重置暂存区最近的一次提交,但工作区的文件不变 $ git reset # 等价于 $ git reset HEAD...^ # 将当前分支的指针指向为指定 commit(该提交之后的提交都会被移除),同时重置暂存区,但工作区不变 $ git reset # 等价于 $ git reset --mixed... # 将当前分支的指针指向为指定 commit(该提交之后的提交都会被移除),但保持暂存区和工作区不变 $ git reset --soft # 将当前分支的指针指向为指定...「Git 通过子模块来解决这个问题,允许你将一个 Git 仓库作为另一个 Git 仓库的子目录。它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立。」...因为在少数情况下即使预发布通过了,都不能保证正式生产环境可以100%不出问题;预发布环境的配置,数据库等都是跟线上一样;有些公司的预发布环境数据库是连接线上环境,有些公司预发布环境是单独的数据库;如果不设预发布环境

    2.8K50

    45个 GIT 经典操作场景,专治不会合代码

    我想把暂存的内容变成未暂存,把未暂存的内容暂存起来 多数情况下,你应该将所有的内容变为未暂存,然后再选择你想要的内容进行commit。...例如, main分支想重置到的提交的hash为a13b85e: (main)$ git reset --hard a13b85e HEAD is now at a13b85e 签出(checkout)刚才新建的分支继续工作...$ git fetch -p 我不小心删除了我的分支 如果你定期推送到远程, 多数情况下应该是安全的,但有些时候还是可能删除了还没有推到远程的分支。...一般情况下你不关心提交(commit)的时间戳,只想组合 所有 提交(commit) 到一个单独的里面, 然后重置(reset)重提交(recommit)。...(commit), 和分支之间不共享的提交(commit)的列表。

    1.1K10

    45个 GIT 经典操作场景,专治不会合代码

    我想把暂存的内容变成未暂存,把未暂存的内容暂存起来 多数情况下,你应该将所有的内容变为未暂存,然后再选择你想要的内容进行commit。...例如, main分支想重置到的提交的hash为a13b85e: (main)$ git reset --hard a13b85e HEAD is now at a13b85e 签出(checkout)刚才新建的分支继续工作...$ git fetch -p 我不小心删除了我的分支 如果你定期推送到远程, 多数情况下应该是安全的,但有些时候还是可能删除了还没有推到远程的分支。...一般情况下你不关心提交(commit)的时间戳,只想组合 所有 提交(commit) 到一个单独的里面, 然后重置(reset)重提交(recommit)。...(commit), 和分支之间不共享的提交(commit)的列表。

    1.8K40

    Git汇总--版本库操作

    在执行git fetch命令的时候,可以通过 --no-tags 参数设置不获取里程碑只获取分支及提交 $ git fetch --no-tags 或在注册远程版本库的时候,使用--no-tags 参数避免将远程版本库的里程碑引入本地版本库...重置–reset or reflog or revert .git/refs/heads/ 中记录了其分支中对应的最新提交ID,下述为master分支最新提交ID: $ cat .git.../refs/heads/master e695606fc5e31b2ff9038a48a3d363f4c21a3d86 reset 重置命令git reset 的一个用途就是修改引用(如master)的游标...因此重置一般用于重置暂存区(除非使用--hard参数,否则不重置工作区),而检出命令主要是覆盖工作区(如果不省略,也会替换暂存区中相应的文件)。...2.2 删除本地分支 $ git branch -d/-D develop 删除远程分支 冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。

    72931

    Git 速查表:中级用户必备的 12 个 Git 命令

    要将暂存区重置为与最近的提交匹配,而不丢失工作区的任何数据,请使用以下命令: git reset 撤销所有当前的更改并将工作区重置为与最近的提交匹配,请使用以下命令: git reset --hard...标签在本质上是一个引用,类似于分支名称,但标签通常是静态的,因为它们指向单个提交,而分支名称是动态的,因为它们跟踪分支的末端,并随着新的提交添加而更新。通常情况下,标签在标记发布版本时很有用。...为当前签出的 Git 提交创建一个标记: git tag tag_name git rebase Git rebase 命令允许用户将一系列提交移动到一个新的基础提交上。...默认情况下,cherry-pick 不包含第一个提交记录,但会包含最后一个提交记录。...这为开发人员快速追踪 bug 的源头提供了一种方法,因为每次将提交历史记录分成两半,可以指数级地减少需要手动检查的提交记录数量。

    47830

    Git常用命令

    分支名 将服务器代码下载下来相对于 svn的checkout git log 打印完整格式提交日志 git log --pretty=oneline 一行查看(展示完整hash值) git...--hard 在本地库移动HEAD指针 重置暂存区 重置工作区 git branch 查看分支 git branch 分支名称 建立分支 git checkout...分支名称 切换分支 git merge 分支名 将当前分支与另一个分支合并 git branch -d 分支名 删除本地分支 git remote add 别名(origin ) 地址...为仓库地址取别名 git remote -v 查看别名 git remote remove 别名 删除别名 git rm --cached filename 从暂存区恢复出来 git...添加完成后,git使用ssh协议登录,这样每次更新或提交时就不用输入用户名密码了 忽略 .gitignore 用编辑器创建这个文件 该文件内容就是你要忽略的文件/目录 如 #下面是忽略的文件/文件名

    31410

    Git 中文参考(二)

    新提交是 HEAD 的直接子代,通常是当前分支的尖端,并且分支被更新为指向它(除非没有分支与工作树相关联,在这种情况下 HEAD 是“分离的”,如 git-checkout [1] )。...git reset [] [] 此表单将当前分支头重置为,并可能根据更新索引(将其重置为的树)和工作树。...(8) 首先,将历史记录重置为一次提交,以便我们删除原始提交,但保留工作树中的所有更改。...讨论 下表显示了运行时会发生什么: git reset --option target 根据文件的状态,使用不同的重置选项将HEAD重置为另一个提交(target)。...git pull 使用此命令来合并来自另一个存储库的更改,并且可以手动使用此命令将更改从一个分支合并到另一个分支。

    20810
    领券