我在服务器上进行了更改,现在git不允许我继续掌握它,因为它具有“未分级的更改”。我该如何解决?

时间:2019-05-24 16:59:56

标签: git

Noob关于Git的问题:

我直接在服务器上做了一些小改动(不使用Git)。我刚刚打开cPanel并更改了一些图像文件的名称,并删除了一些未使用的图像。

然后,我返回到代码编辑器,并在几个文件中进行了更改。但是我现在不能推动母版,因为Git说:“![远程拒绝]母版->母版(工作目录中有未暂存的更改)”

我不确定该如何解决。我不介意取消我直接对服务器文件所做的更改的解决方案。我也不会介意丢失在编辑器中对文本所做的更改的解决方案。他们都是很小的。我只想让他们恢复同步!

我尝试使用“ git checkout -b example”创建一个新分支,并在该分支中进行了“ git pull”。很好我也可以推送,可以先进行“ git checkout master”,然后再进行“ git merge example”,这似乎很成功。但是当我“ git checkout master”然后“ git push origin master”时,它给了我错误消息。

感谢您提供的任何建议!

2 个答案:

答案 0 :(得分:1)

针对您的情况的简单解决方案是:

  1. 输入服务器的存储库目录
  2. rm -r *
  3. git reset --hardgit checkout -- .

如果您将来的更改有冲突的文件,请执行第2步。

第3步将工作目录中的每个跟踪文件重置为当前分支的版本。


如果要保留更改,可以先在服务器上执行git add .,然后执行git commit,然后在计算机上执行git pull,这将触发合并。然后您可以像往常一样推动。

答案 1 :(得分:0)

要清除最近的更改并返回到上一个状态(最后一次提交),只需确保您位于存储库的顶层,然后执行

git checkout -- .

清除这些更改的另一种方法是git stash,它将把这些更改放在一个隔离的分支中,以防万一您后悔擦除它们。