Stage之前放棄修改
如果做了修改,還沒有stage(add),使用
git status
可以查看所有的改動:
- 修改:modified
- 刪除:deleted
- 添加:Untracked
想要放棄修改可以使用checkout命令
取消 倉庫所有 修改、刪除
git checkout -f
此時你修改的文件和刪除的文件都會被恢復,但是你新添加的文件不會被刪除
放棄 指定文件 修改、刪除
git checkout filename
放棄 指定文件夾 修改、刪除
git checkout directory
此時指定目錄下修改的文件和刪除的文件都會被恢復,但是你新添加的文件不會被刪除
放棄 倉庫所有 添加
git clean –df
此時該倉庫下所有新添加文件將被清除, 不會對修改和刪除做任何處理
放棄 指定文件 添加
git clean filename –df
此時該新添加文件將被清除, 不會對修改和刪除做任何處理
放棄 指定文件夾 添加
git clean directory –df
此時該目錄新添加文件將被清除, 不會對修改和刪除做任何處理
git clean參數
首先我們需要認清 忽略的文件 和 未被跟蹤的文件。
- 忽略的文件:.gitignore 中忽略的文件;
- 未被跟蹤的文件:沒有被忽略,但是還沒 git add 的文件
git clean -f # 刪除:未被跟蹤的文件 git clean –fd # 刪除:未被跟蹤的文件和文件夾 git clean –xfd # 刪除:忽略的文件、未被跟蹤的文件和文件夾 git clean [-xfd] -n-n # 會先打印一些將要刪除的文件,並不執行刪除動作,主要是查看是否有自己需要的不想被刪除
Git 放棄本地修改
commit抹去可以使用修改后
見文章《git 放棄本地修改》
Git 放棄先前提交
要講某一次commit抹去可以使用如下命令
>> git reset –hard commit_hash
執行完該命令后便將當前分支回退到commit_hash那一次提交了,在這次提交后面的所有提交都將被徹底抹去不留痕跡,為非常危險的操作
如果你想要放棄已經提交到服務器上得到提交,可以在本科執行該命令達到目的后然后強行push
>> git push –force
這是個更加危險的操作,因為你抹去的是服務器上的版本,你的同事可能會去買槍的哦
