我在AWS EC2实例上运行了一个应用程序,上次更新时出现了问题。我通常ssh
到EC2服务器,并做一个git pull
,在那里我有一个远程存储库。
如何从主存储库进行干净安装?每次我拉数字,我都会得到you need to resolve your current index first
我能做吗
git reset --hard HEAD
git pull
来自EC2实例上的远程回购?
我肯定会首先在非生产环境中测试这一点,但是的,先用硬git reset
,然后用git pull
就可以了。
根据文件,git reset --hard HEAD
确实:
重置索引和工作树。自以后对工作树中被跟踪文件的任何更改都将被丢弃。
然后git pull
将从您的远程获取最新更改,并将其应用于您的EC2实例(文档):
将远程存储库中的更改合并到当前分支中
所以,是的,如果您先运行git reset --hard HEAD
,然后运行git pull
,您将清除任何本地未跟踪的更改,然后从远程获取最新更改。事实上,如果您的EC2已经提取了最近的提交,那么您根本不需要git pull
。
然而,再怎么强调也不为过:如果这是一台生产服务器,请首先调查未跟踪的更改,以确保没有任何重要的东西会让你后悔失去(git status
和git diff
会这样做),然后在一台单独的非生产机器上尝试该命令。