这可能是一个非常简单的问题,但我对Git来说是全新的......
我现在知道为什么这不起作用。它最终只是从主分支中删除了已更改的文件。如果我现在运行git status,我会将所有其他文件视为已删除的文件。不好!!
所以,我想做的是获得主分支的干净副本或结账(或所谓的),就好像这是我第一次从主分支中提取项目一样。重置本地Git存储库还是什么?
我该如何处理?
答案 0 :(得分:1)
尝试这样做以取消您的更改:
git checkout .
和/或:
git reset HEAD --hard
然后从主人拉
编辑:
此外,如果您执行git status
并看到文件已删除,您可以执行git add -u
暂存这些删除并提交确认。
答案 1 :(得分:1)
要将本地树(您可以实际编辑的文件)重置为您可以执行的服务器(远程)上主服务器的确切状态(假设服务器的远程名称是来源):
git reset origin/master --hard
git clean -fd
第一个命令会将当前已签出的本地分支的HEAD(git status
的第一行是:On branch $current_branch
)重置为服务器主服务器的状态(表示$ current_branch和来源的git日志) / master将完全相同)。第二个命令将删除可能遗留的无关文件。
我建议使用
git checkout -b wip
之前创建一个名为wip的分支,以防您想要保留直接在本地主服务器上完成的一些本地未压缩提交。然后你可以根据需要合并wip或者挑选一些提交。
建议的命令
git reset HEAD --hard
将本地树重置为本地分支的头部提交所记录的状态,但本地分支的历史记录仍可能与远程分支的历史记录不同。它将清除您在本地执行的任何修改,并且不会丢失您尚未推送的任何提交。
答案 2 :(得分:0)
我最终创建了一个新文件夹,浏览到此文件夹并在此文件夹中运行'git init'。然后我在这个文件夹中创建了一个指向我的项目的新遥控器,然后我用'git pull myremote master'拉出了项目。然后我删除了导致我问题的上一个文件夹。 这很简单: - )。