Noob关于Git的问题:
我直接在服务器上做了一些小改动(不使用Git)。我刚刚打开cPanel并更改了一些图像文件的名称,并删除了一些未使用的图像。
然后,我返回到代码编辑器,并在几个文件中进行了更改。但是我现在不能推动母版,因为Git说:“![远程拒绝]母版->母版(工作目录中有未暂存的更改)”
我不确定该如何解决。我不介意取消我直接对服务器文件所做的更改的解决方案。我也不会介意丢失在编辑器中对文本所做的更改的解决方案。他们都是很小的。我只想让他们恢复同步!
我尝试使用“ git checkout -b example”创建一个新分支,并在该分支中进行了“ git pull”。很好我也可以推送,可以先进行“ git checkout master”,然后再进行“ git merge example”,这似乎很成功。但是当我“ git checkout master”然后“ git push origin master”时,它给了我错误消息。
感谢您提供的任何建议!
答案 0 :(得分:1)
针对您的情况的简单解决方案是:
rm -r *
git reset --hard
或git checkout -- .
如果您将来的更改有冲突的文件,请执行第2步。
第3步将工作目录中的每个跟踪文件重置为当前分支的版本。
如果要保留更改,可以先在服务器上执行git add .
,然后执行git commit
,然后在计算机上执行git pull
,这将触发合并。然后您可以像往常一样推动。
答案 1 :(得分:0)
要清除最近的更改并返回到上一个状态(最后一次提交),只需确保您位于存储库的顶层,然后执行
git checkout -- .
清除这些更改的另一种方法是git stash
,它将把这些更改放在一个隔离的分支中,以防万一您后悔擦除它们。