从远程Atlassian Stash服务器恢复已删除的(未合并的)分支
原因:在Atlassian Stash服务器上意外删除了一个未合并的分支。
解决方法:使用以下命令恢复删除的分支:
1. 执行git reflog --no-abbrev
,找到被删除分支最新提交的SHA1值。
2. 执行git checkout [sha]
切换到该提交。
3. 执行git checkout -b [branchname]
重新创建分支。
如果是在SourceTree中进行了删除操作,可以通过以下步骤找到SHA1值:
1. 点击菜单栏的View,选择Show Command History。
2. 找到Deleting branch命令,并查找"Deleted branch <branch-name> (was <sha>)"的消息。
如果是在GitKraken中进行了删除操作,可以在Activity Log中找到类似于"Delete ref <branch> at <sha>: finished."的记录。
另外,还可以尝试使用git switch -c <new_branch_name>
命令来替代git checkout -b <your-branch> <sha>
命令,这是一个相同的命令,只是名称不同。
这个方法可以解决意外删除未合并分支的问题,对于一些用户来说,这个方法真的救了他们的命。