2016-01-11 26 views
1

我需要提交一个文件夹,然后重置其他任何东西到远程状态并推送提交。如何在提交后重置任何东西?

如果我会做

git commit 
git reset --hard 
git push 

那么git reset --hard会破坏承诺,对吧? 我该如何实现它?

+0

您的最终目标是什么?您的描述和流程图都显示您想要提交,您将立即销毁.... –

+0

我有一个部署到> 10台服务器的回购。每个服务器都有一个特殊的文件夹,通过web界面进行更改。其他服务器不会触摸此文件夹。我需要一个提交这些特殊文件夹更改的脚本。从服务器端执行此操作的最佳做​​法是什么? –

+0

Duplicate of:http://stackoverflow.com/questions/34519665/how-to-move-head-checkout-revet-reflog-reset/34519716#34519716 – CodeWizard

回答

1

进行提交后,你可以放心地做

git push 

这只会推动您所做的提交。任何unstageduntracked更改将保持在本地,您不需要需要删除它们。

假设你真的想删除他们的另一个原因; (!警告:这些更改将丢失)删除所有unstaged变化,你可以这样做:

git checkout -- :/ 

,如果您有任何untracked变化;你不希望他们显示出来,您可以

  • 删除这些文件
  • 把它们放在.gitignore文件。
+0

非常感谢。我的回购在一些服务器上搞砸了。在我清理并重新设置了一些东西后,它现在可以按照预期的方式正常工作=> add => pull => commit => push循环。 –

相关问题