昨天,我的Git服务器已关闭,我需要对生产系统进行一些紧急更新,该系统通常从我的Git服务器上运行“ sudo git pull”以获取最新更改。
现在,我的Git服务器已重新启动并运行,我已经提交了对Git所做更改的修改版本,并希望将其拉到我的生产服务器上,但是,它告诉我:
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.5.0/d3.js"></script>
<p>zoom and drag</p>
<div id="a">
<p></p>
</div>
<p>only zoom</p>
<div id="b">
<p></p>
</div>
我想用master分支的最新提交覆盖生产服务器上的文件。如何从生产服务器上做到这一点?
答案 0 :(得分:0)
使用
git checkout .
放弃工作树中所有未进行的/未提交的修改。
此操作无法取消,请谨慎操作。
或者您可以使用
git stash
如果您放弃了重要的修改,则可以使用
将其放回原处。git stash pop
或与他们见面
git stash show
答案 1 :(得分:0)
答案 2 :(得分:0)
如果您在生产服务器中不再需要更改,则有两种方法。
方法1:首选
git checkout . && git pull
方法2:并不是最好的方法,但是可以完成工作
git reset --hard && git pull
如果要将更改保留在生产服务器中,以备将来参考:
git stash && git pull
如果您在生产变更中添加了新文件/文件夹,则可能需要在使用上述任何一种方法之前运行git clean。
git clean -df
d-还删除未跟踪的目录
f-强制删除所有未跟踪的文件
答案 3 :(得分:0)
由于您是说它正在生产中,所以我建议您stash
进行更改,而不要进行checkout
。
Stash有助于将更改保存到一边,您将能够再次将其取回。我总是喜欢用一个名字藏起来(作为说明)。
git stash save "<description>"
应用隐藏:
git stash apply stash@{0}
最好使用apply
,因为不会删除隐藏项。
列出藏匿处:
git stash list