nike網(wǎng)站建設(shè)方案診斷網(wǎng)站seo現(xiàn)狀的方法
問題描述
-
最近在 RT-Thread 時,使用 Git 回退版本驗證問題,后來
git pull
拉取最新代碼后,發(fā)現(xiàn)里面有幾個文件,一直為【修改】狀態(tài),并且無法還原,git checkout xxx
git reset --hard
都用了,依舊無法還原文件,也就是幾個文件一直處于【修改】狀態(tài) -
通過
file xxx
查看,這些文件是以回車換行符結(jié)尾的。 -
通過
git add
發(fā)現(xiàn)這幾個文件由于回車換行引起,全文件都提示修改,但是為何git checkout
不能恢復(fù)呢?
解決思路
- 為了還原恢復(fù)這幾個【頑固】的被修改文件,我嘗試了幾種方法
第一種方法
-
git reset --hard commit_id
,這里的commit_id
要改為這幾個文件提交前的 位置,在一些git 提交記錄達到 幾千幾萬的時候,這個方法很低效,并且可能還需要多次嘗試 -
總結(jié):不如直接拉取工程代碼來的實惠。
第二種方法:
-
刪除工程,重新拉取新的代碼。
-
總結(jié):不推薦,這樣的操作,當(dāng)前工程下一些未提交的本地代碼就丟掉了。
第三種方法
-
推薦的方法:安裝 dos2unix 工具,當(dāng)前確認在 Linux 環(huán)境下,測試通過
-
如果沒有 dos2unix,需要安裝
$ sudo apt install dos2unix
-
操作流程
$ dos2unix bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_dac12.h
$ dos2unix bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_lpadc.h
$ git reset --hard
- 以上操作后,再次運行 git status,發(fā)現(xiàn)【頑固】的已修改文件消失了,問題解決
小結(jié)
-
遇到因為回車換行造成的文件修改,并且使用
git checkout
或者git reset --hard
都無法還原的文件的時候,建議使用dos2unix
把文件改為 unix 格式,再配合git reset --hard
。 -
git 使用起來還是比較的高效方便,便于代碼的管理,一些高級的操作,可以慢慢積累