如何确保重开工作区后Git仍识别克隆分支的本地修改?
解决方案
核心问题是关闭重开工作区后,本地的.git目录(Git仓库的核心配置与历史数据)丢失,导致Git无法识别这是从原仓库克隆而来的项目。直接执行git init会创建全新的Git仓库,缺失原仓库的历史记录,所以推送时会显示全量新增/删除。
按以下步骤操作可恢复原仓库关联:
- 在当前工作区初始化Git:
git init - 添加原仓库为上游远程:
git remote add upstream https://github.com/cnvrg/anomaly-detection.git - 拉取原仓库历史记录并保留本地修改:
git pull upstream master --allow-unrelated-histories
(该参数允许Git合并本地修改与原仓库原本无关联的历史) - 关联要推送的目标仓库:
git remote add origin https://github.com/cnvrg/text-summarization.git - 推送修改到目标仓库:
git push -u origin master
预防建议
如果你的工作区是临时环境(关闭后会重置),建议每次关闭前把修改推送到目标仓库,下次打开时直接克隆该目标仓库;或者克隆原仓库后,再拉取你在目标仓库的修改,避免重复做关联操作。
内容的提问来源于stack exchange,提问作者Abhay Saini
相关产品推荐
相关产品推荐

