我一直在跟上 Git 的速度(到目前为止对它非常满意),但我仍然对一些事情感到有些困惑。我在 Mac 上使用 SourceTree。
特别是,我和我的团队一直在进行更改,提交它们,然后推送到我的 linux 服务器上的远程裸仓库。另外,我一直在我的笔记本电脑上做一些实验,最终得到了一些不同的局部变化。
我没有尝试合并它们,而是决定我真的只想将我的笔记本电脑恢复到远程仓库的状态。我曾尝试从远程仓库中拉下更改,在被警告我需要合并之后,我决定恢复(我猜是 GIT 语言中的“重置”)到最后一次正式提交。我对所有东西都这样做了,然后就可以下载文件了。
然而,SourceTree 告诉我,有 24 处更改必须推送回远程服务器,但我看不到这些更改是什么(特别是因为我的目标是不保存任何我所做的事情)。这让我非常紧张。
最终,我只是炸毁了整个文件夹(包括 .git),然后再次克隆了远程存储库。
最后一个的缺点是,如果您有任何未跟踪的新文件,如果您不记得暂时将它们复制到其他地方,它们就会被删除。
我的问题是是否有任何方法可以将我的本地工作副本(和 .git 内容)恢复到远程仓库的最新状态,而使工作副本中的任何未跟踪文件保持不变?
我确实找到了为什么我必须在 Git 中推送我刚刚从原点提取的更改?但它并没有真正回答我在这里描述的任何一个问题。
提前感谢您的任何见解。
D