作为一个有20年经验的SVN和CVS专家,我发现git非常具有挑战性。 我阅读了很多指南,但没有找到一篇易于理解的文章。对于我在使用git时的愚蠢,请多多包涵。
我们只使用主干,没有使用分支。Git是被强制使用的。
我有一个js文件,我是唯一的“所有者”,其他人不应该触碰它。但是某个人却修改了它并将其检入。我试图检入我的副本,但失败了。所以我拉取了更新的版本,并且它用大量的<<<和>>> 来“破坏”我的副本。
基本上,我想拒绝他的所有更改,并用我的内容覆盖它们。对于SVN,我只需复制我的本地js文件,删除它,在存储库中检出获取有问题的文件,将我的文件复制回去,然后检查结果即可。非常简单。
我还没有找到在git中执行此操作的方法,因为如果您删除该文件,它会认为您要删除该文件。
所以我尝试编辑合并后的文件,但是搞混了哪些行是新的,哪些是旧的。现在这个文件无法使用了。我已经“失去”了本地文件副本。
我阅读了“git push origin master --force”的相关信息,但:
- 现在为时已晚,我已经失去了我的版本。
- 我读到另一篇文章说不要这样做,因为它会破坏其他人的拉取,但他们没有提供拒绝某人的检入,并用自己的文件替换一个文件的“正确”方法。
所以我有两个问题:
- 如何找回我的文件。
- 一旦我拿回它,如何用自己的文件覆盖其他人检入并推送的文件,而不影响他们检入和推送的其他内容?