热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

如何在不影响检出的工作文件夹的情况下从远程存储库重置整个.git文件夹?

如何解决《如何在不影响检出的工作文件夹的情况下从远程存储库重置整个.git文件夹?》经验,为你挑选了1个好方法。

如果.git文件夹中有些东西弄乱了并且无法修复,但是我想按原样保留工作文件夹,如何.git从远程存储库中“重置” 文件夹?



1> MikeJansen..:

.git通过从远程重新初始化文件夹,可以使用以下过程“修复” 文件夹。此过程假定您当前的本地分支与远程分支在同一提交上。否则,您将丢失任何本地提交,但不会丢失本地更改。同样,任何被“忽略”的本地文件将保持不变。

此外,任何仅本地分支机构都将丢失。如果要保留这些分支,请先将其推入远程。您也可以在本地复制整个预先固定的工作文件夹,然后将其添加为“远程”,然后将这些分支拉入固定的副本(完成以下步骤之后)。

最好在启动之前备份整个本地工作文件夹树,以防发生意外问题。

    确定您当前所在的分支:

    git status

    如果您有自定义钩子,请保存.git/hooks文件夹

    .git从工作副本中删除(或移动)文件夹

    在工作副本中重新初始化git repo:

    git init

    origin手动添加您的遥控器:

    git remote add origin *url*

    获取远程存储库:

    git fetch

    在开始之前,重新创建工作副本所在的分支:

    git checkout -b *branch*

    将分支引用指向远程分支,而不影响工作副本:

    git reset --mixed origin/*branch*

    将所有保存的钩子复制到.git/hooks文件夹中。

    如有必要,请执行任何清理操作,例如还原文件等。

@MarkAdelsberger提供的使用git reset --mixed而不是git reset --softplus git add .的改进(请参见注释)。

改进了保存.git/hooks@ gary-kindel提供的文件夹的功能(请参见注释)。


推荐阅读
author-avatar
叫我小小小火枪的天空_603
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有