發生背景:中間提交代碼時候手賤revert操作了,然後結果就是我好像挪到了局域網,怎麼提交代碼都提示commit成功push時候提示我修改編輯到代碼工作有可能會丟失,當時一句what,開始心想只是warning管它幹啥,只要不是error,後來倉庫一看我的代碼呢?我去,pycharm你還我代碼,然後回想起來每次好像有warning,然後看了event log,get關鍵字HEAD detached from啥會脫離?
問題分析:
代碼倉庫沒有我提交的代碼,event log又提示脫離,果斷更改一下代碼再提交一次,然後還是提示編輯工作會丟失,然後選擇文件push那個push確認按鈕沒法點,version中又一個編碼指向HEAD後一個版本號;果斷查看了提交日誌;
acddf8b (HEAD) HEAD@{0}: commit: Revert "update_2019-09-22_sprites"
4f553e1 (master) HEAD@{1}: reset: moving to master
9cd5dd5 HEAD@{2}: commit: Revert "update_2019-09-22_sprites"
952ac87 HEAD@{3}: commit: Revert "update_2019-09-22_sprites"
4f553e1 (master) HEAD@{4}: checkout: moving from master to 4f553e11f78bc36014532c8068e159452e699074
4f553e1 (master) HEAD@{5}: reset: moving to 4f553e11f78bc36014532c8068e159452e699074
4f553e1 (master) HEAD@{6}: commit: update_2019-09-22_sprites
4a36cd8 HEAD@{7}: commit: update_2019-09-22_sprites
ec5ee8c (origin/master) HEAD@{8}: commit: test_01-2019-09-22
c102eca HEAD@{9}: commit (initial): Initial commit
好像是分支有問題,於是嘗試的提交了手頭編輯的代碼,然後命令行中查看了分支:
(py_django) dongchaodeMacBook-Pro:Aircraft_war dongchao$ git branch
* (HEAD detached from 4f553e1)
master
找到答案了,原來確實不在倉庫提交代碼的分支,此時你可以選擇:git merge 合併分支,也可以直接切換分支,不過切換的話你要清除脫離分支的內容編輯都會丟失哈,提前備好份,不要盲目不要激動;
問題解決:
1、切換分支:git checkout master(根據你具體分支決定哈)
2、確認分支:git branch
3、再次git add 文件,然後git commit -m "註釋",最後再git push oragin 分支即可;
我當時就應爲直接git chekout master分支所以脫離部分寫的代碼整一天工作量丟失了,各位老鐵先備份脫離分支的代碼哈;