我错误地将更改写入了不再受Git版本控制的远程存储库副本。我需要将此本地目录转换回Git存储库,比较与远程分支的差异,然后像往常一样只在顶部提交这些更改。
这样做的最佳方式是什么?
答案 0 :(得分:0)
我将看到的最简单的解决方案是使用git diff
指定更改的实际文件。
以下内容:
git diff non_git_dir/the-files-*.js git-dir/the-files-*.js > patch.diff
如果你的磁盘上有这两个目录,并且可以相对容易地指出你知道的文件已经改变,那么它将生成一个相当不错的差异文件。
然后你只需要在你的git托管目录上应用diff:
git apply patch.diff
从那里你可以提交或做你想做的事。
但是,如果更改是广泛的,或者您因任何原因无法在磁盘上拥有这些文件。也许你可以尝试:
git init
git add .
git commit -m"ALL THE THINGS"
git remote add new git@github:newrepo.git
git diff master new/master
当然也有可能只是复制文件并检查在提交之前丢失的任何潜在代码。
但这听起来像是在作弊
我的两分钱......