我是Git的新手,我正在与一个错误作斗争。
我有一个prod中的代码的本地副本,并进行了一些更改(在git pull
之后)。在做了本地更改后,我做了:
git add .
git commit -m
git push
然后我登录到prod服务器,并运行git pull
。我得到以下错误:
-> origin/master
error: Your local changes to the following files would be overwritten by merge:
Please, commit your changes or stash them before you can merge.
error: The following untracked working tree files would be overwritten by merge:
我不确定如果我隐藏更改或提交,它会对我的代码产生什么影响。我该怎么办?
该错误意味着您对prod服务器上的文件所做的更改将被您试图运行的git pull
命令所破坏。Git认为这可能不是你想要做的
您可以运行git status
来查看您在prod服务器上没有签入/跟踪的内容,以查看您希望如何处理这些更改。然后你有三个选项:
git reset
:那些我不需要的更改,通过重置到上一次提交来消除它们,然后进行pullgit commit
(先添加相关文件):这些更改需要进行版本控制,请签入。然后将最新的更改置于这些更改之上git stash
:这些更改正在进行中,我不想丢失它们,但我也不想签入它们。您可以稍后取回它们