การเพิ่ม multiple config ใน ssh

โจทย์ ตอนนี้ผมมี account 2 อันที่ใช้ github.com1. ของส่วนตัว2. ของบริษัทปัญหาคือ ทั้ง 2 account ชี้ไปที่ github.comผมต้องการแยก วิธีแก้ปัญหา ต้องแก้ 2 ที่1. แก้ที่ ~/.ssh/config ให้ตั้งชื่อ hostname ไม่ซ้ำ และใช้ User git เท่านั้น2. แก้ที่ project คือ your-project/.git/config ให้ replace จากhttps://github.com/mynameiskreang/basic-golang.git เป็นgit@github_mynameiskreang:mynameiskreang/basic-golang.git ถ้าอธิบายให้ลึกขึ้น ก็คือ การเปลี่ยน protocol จาก https เป็น git และกำหนด username และถ้าถามว่าทำไมถ้าตา pattern ไม่เหมือน standard ก็เพราะ git มี package เป็นของตัวเองเช่น git clone […]

kreangkrai supchid

August 7, 2021

Git clone all project in one line

เคยเจอโปรเจคแบบ microservice ไหมครับ โปรเจคที่แบบมีเป็น 10 modulesถ้าให้มานั่ง clone ทีละอัน บางทีก็เสียเวลาครับ งานมันทำซ้ำ ถ้างั้นก็ต้องเขียนโปรแกรมได้สิ สิ่งที่ต้องเตรียม token ที่มีสิทธิ read_repository 2. project group id 3. curl หรือ wget และ jq เพราะ output มันจะได้ json น่ะ ต้องใช้ jq ช่วยในการ refer object คำสั่งที่ใช้ for repo in $(curl “https://<host>/api/v4/groups/<groupID>?private_token=<token>&per_page=50&page=0” | jq “.projects[].ssh_url_to_repo” | tr -d ‘”‘); do git clone $repo; done;

kreangkrai supchid

January 18, 2021