Table of contents

  1. Git push in disaster
Git push in disaster Git push in disaster

Git push in disaster

သဘာဝဘေးအန္တရာယ်ကြုံလို့ ပြေးတဲ့အခါ ကွန်ပြူတာပါတာမပါတာအသာထား ပထမဆုံးလုပ်ရမှာက git push ပဲ။ ဟာသအနေနဲ့ကော တကယ်အလေးအနက်ထားပြီး ပြောတဲ့လူတွေလည်းရှိတယ်။ မတော်လို့ လူဖြစ်ဖြစ်၊ ကွန်ပြူတာဖြစ်ဖြစ်ထိခိုက်တဲ့အခါ လုပ်လက်စ project မပျက်စီးသွားအောင်ပေါ့။ git push ဆိုတာ အိုင်တီသမားမဟုတ်တဲ့သူကိုရှင်းပြရရင် လက်ရှိလုပ်လက်စ code တွေကို အွန်လိုင်းမှာသွားသိမ်းတဲ့သဘောပါ။

တကယ်ငလျင်လှုပ်တဲ့အချိန်ကျတော့ git commit ၊ git push လုပ်ဖို့ရယ် မစဉ်းစားနိုင်တော့ဘူး။ ကွန်ပြူတာဆွဲပြီးပြေးတာပဲ။ code တွေကိုကယ်ဖို့ထက် ကိုယ့်အသက်ကိုကယ်ဖို့က ပိုအရေးကြီးတယ်မဟုတ်လား။

လက်တွေ့မှာ git push လုပ်ဖို့ ခဏခဏမေ့တယ်။ အလုပ်မှာကွန်ပြူတာတစ်လုံး၊ အိမ်မှာတစ်လုံးသုံးရရင် ပိုဆိုးတယ်။ အိမ်မှာလုပ်လက်စ project ကို ရုံးရောက်လို့ဆက်လုပ်ချင်တယ်ဆိုရင် code က အိမ်ကကွန်ပြူတာထဲမှာ push မလုပ်ရသေးဘူး။ အဲဒါနဲ့ လုပ်လက်စမဟုတ်တဲ့ တခြား feature တစ်ခုပြောင်းကိုင်ပြီး branch ခွဲ push လုပ်ရတယ်။ အိမ်ရောက်မှ အိမ်ကွန်ပြူတာမှာ branch တစ်ခုထပ်ခွဲ push လုပ်၊ နောက်မှပြန်ပေါင်းရတယ်။

ဒီလိုအဖြစ်မျိုးအတွက် Github codespace နဲ့ဖြေရှင်းလို့ရတယ်။ codespace မှာ terminal ကိုမှ root access လည်းရတော့ ပေါ့ပေါ့ပါးပါး Xfce လို Linux desktop environment တင်ထားလိုက်ရင် ကွန်ပြူတာတစ်လုံးလိုသုံးလို့ရတယ်။ Chrome remote desktop ကို SSH နဲ့သွင်းထားလိုက်ရင် အွန်လိုင်းပေါ်က ကွန်ပြူတာတစ်လုံးကို Chrome ကနေဝင်သုံးနေတဲ့ပုံစံမျိုးပေါ့။ ပုံမှန်ဆိုရင် codespace က usage limit ရှိတယ်။ သတ်မှတ်ထားတဲ့ နာရီပြည့်သွားရင် အဲဒီလအတွက် ဆက်သုံးလို့မရတော့ဘူး။ Harvard University CS50 သင်တန်းက သူ့သင်တန်းသားတွေကိုအတွက်ဆိုပြီး Github codespace ကိုအခမဲ့ပေးသုံးတယ်။ ဘယ်လောက်သုံးသုံး usage limit မထိဘူး။ စမ်းကြည့်တဲ့အခါ CS50 student မဟုတ်လည်း CS50.dev ကနေ Github login ဝင်လိုက်ရင် သင်တန်းသားမဟုတ်လည်း codespace free ရနေတယ်။

codespace ဖွင့်ထားပြီးလှုပ်ရှားမှုမရှိဘဲ idle ဖြစ်နေရင် သူ့ဘာသာသူပြန်ပိတ်သွားတယ်။ ဒါပေမယ့် restart လုပ်လိုက်ရင် ရောက်တဲ့နေရာမှာပြန်ပွင့်တယ်။

Git push တကူးတကလုပ်နေစရာမလိုတော့ဘူး။ ကွန်ပြူတာတစ်ခုခုဖြစ်သွားလို့ လုပ်လက်စအလုပ်တွေပျက်စီးသွားတဲ့ ကိစ္စမျိုးလည်းမရှိတော့ဘူး။ ပြီးတော့ development server တွေကို codespace ပေါ်မှာပဲ run ထားလို့ရလို့ ကိုယ်လက်ရှိသုံးနေတဲ့ကွန်ပြူတာမှာ resource စားသုံးမှုသက်သာတယ်။ Chrome remote desktop နဲ့ဆိုတော့ browser မှာ tab တစ်ခုဖွင့်ဖို့လောက်ပဲ ကွန်ပြူတာကအလုပ်လုပ်ပေးရတာပဲ။

တစ်ခုရှိတာက codespace ကိုယ်တိုင်က Docker instance ပေါ်မှာ run ပေးနေတာဆိုတော့ Flutter project မျိုး develop လုပ်တဲ့အခါ Mobile emulator ကို codespace ပေါ်မှာ run လို့မရဘူး။ Virtual machine ပေါ်မှာ virtual device ထပ် run တာမျိုးမရလို့ Flutter လုပ်တဲ့အခါဆိုရင်တော့ local မှာပဲလုပ်ဖြစ်တယ်။

ကျွန်တော့်လက်ရှိ personal practice က neovim လည်းစမ်းသုံးနေတာနဲ့ neovim config ကို အိမ်ကွန်ပြူတာမှာတစ်ခါ၊ ရုံးကွန်ပြူတာမှာတစ်ခါ configure မလုပ်တော့ဘဲ codespace ပေါ်မှာပဲ configure လုပ်ထားလိုက်တော့တယ်။ ဘယ်စက်ကသုံးသုံး neovim config နဲ့ VSCode settings တူတူပဲဖြစ်နေတယ်။

အကြိုက်ဆုံးကတော့ codespace ပေါ်မှာ linux command နဲ့ပဲအလုပ်လုပ်ရတာမို့လို့ အခြေအနေအရ ကွန်ပြူတာမှာ linux မသုံးဖြစ်လည်း codespace ပေါ်မှာသုံးဖြစ်နေလို့ မမေ့တော့ဘူး။

သုံးကြည့်ချင်ရင် CS50.dev မှာ github account နဲ့ login ဝင်ပြီးစမ်းလို့ရပါတယ်။


← Back to blog