我在服务器上做了一些修改,现在git不允许我推送到master,因为它有“未暂存的修改”,我该如何解决这个问题?

gcxthw6b  于 2023-09-29  发布在  Git
关注(0)|答案(3)|浏览(79)

关于Git的问题:
我直接在我的服务器上做了一些小的修改(没有使用Git)。我只是打开了cPanel,更改了一些图像文件的名称,并删除了一些未使用的图像。
然后我回到我的代码编辑器,在几个文件中进行了更改。但是我现在不能推到master,因为Git说,“![remote rejected] master -> master(工作目录有未暂存的更改)”
我不知道该怎么办。我不介意一个解决方案,撤消我直接对服务器文件所做的更改。我也不介意一个解决方案,它会丢失我在编辑器中对文本所做的更改。他们都是很小的。我只想让他们恢复同步!
我尝试用“git checkout -b example”创建一个新分支,并在该分支中执行了“git pull”操作。很顺利我也可以推,我可以“git checkout master”,然后“git merge example”,这似乎很成功。但是当我“git checkout master”然后“git push origin master”时,它给了我错误消息。
我很感激你能给予我的任何建议!

kq0g1dla

kq0g1dla1#

针对您的情况,一个简单的解决方案是:
1.输入服务器的存储库目录

  1. rm -r *(警告:这将删除所有内容)
  2. git reset --hard(最佳工作)或git checkout -- .
    第2步只是为了防止将来的更改会导致文件冲突。
    第3步将工作目录中的每个跟踪文件重置回当前分支的版本。
    如果您想保留更改,可以在服务器上执行git add .,然后执行git commit,然后在您的机器上执行git pull,这应该会触发 merge。你可以像往常一样推。
t3psigkw

t3psigkw2#

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

git checkout -- .

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

tmb3ates

tmb3ates3#

有时文件更改可能是文件权限。你可以用哪个来检查。
git add -p .

相关问题