2016-01-11 25 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循環。 –

相關問題