เวิร์กโฟลว์กับ Git และเซิร์ฟเวอร์ระยะไกล

ฉันต้องการปรับปรุงขั้นตอนการทำงานของเราโดยใช้ Git และเซิร์ฟเวอร์การพัฒนาของเรา

เราได้ตั้งค่าไว้แล้ว นอกเหนือจากเซิร์ฟเวอร์ที่ใช้งานจริงและเซิร์ฟเวอร์ชั่วคราวแล้ว โดยทั่วไปแล้ว dev แต่ละตัวจะรัน VM ในเครื่องของตัวเอง เรายังเก็บโค้ดของเราไว้ในที่เก็บ GitLab

ในบรรดาผู้พัฒนา มีสองวิธีหลักที่เราจะรับโค้ดของเราบนเซิร์ฟเวอร์: - พุชไปที่ GitLab จากนั้นดึงจากเซิร์ฟเวอร์ในเครื่อง - เรียกใช้ daemon บน VM ในเครื่อง จากนั้นพุชไปที่มันโดยตรง

ดังที่คุณคงจินตนาการได้ นี่หมายความว่าเราต้องกระทำการคอมมิตบ่อยครั้งในขณะที่เรากำลังดำเนินการในสิ่งต่างๆ เราพยายามทำงานในสาขาที่แตกต่างกันสำหรับแต่ละฟีเจอร์ แต่ก็ยังยุ่งยากอยู่เล็กน้อย ฉันอยากให้เราเริ่มรีบูตแต่ละสาขาหรือฟีเจอร์เป็นคอมมิตเดียว เพื่อให้บันทึกดูดี (ไม่จำเป็นต้องเก็บขั้นตอนกลางไว้)

อย่างไรก็ตาม ตามที่ฉันเข้าใจ เมื่อคุณได้พุชไปยังเซิร์ฟเวอร์ระยะไกล (เช่น GitLab) แล้ว การรีบูตเนื่องจากเป็นเรื่องยากมากและทำไม่ได้

มีขั้นตอนการทำงานที่เราสามารถใส่ไฟล์บนเซิร์ฟเวอร์ของเราผ่าน repo ของเราได้อย่างง่ายดาย แต่ยังคงรักษาวิธีการในการรีบูตโดยไม่สร้างความปวดหัวมากมายหรือไม่?

ขอบคุณ.


person samanime    schedule 09.02.2015    source แหล่งที่มา
comment
ฉันลงคะแนนให้ปิดคำถามนี้โดยไม่ตรงประเด็น เพราะถึงแม้จะเกี่ยวข้องกับเครื่องมือการเขียนโค้ด แต่ก็ไม่ใช่คำถามเกี่ยวกับโค้ดเฉพาะตามที่คำถามที่พบบ่อยร้องขอ แต่เป็นการสนทนาแนวปฏิบัติที่ดีที่สุดโดยทั่วไป   -  person Seki    schedule 10.02.2015
comment
@Seki ฉันพยายามแก้ไขคำถามเพื่อให้เฉพาะเจาะจงมากขึ้นเล็กน้อยเนื่องจากฉันกำลังหาคำตอบเฉพาะสำหรับปัญหาเฉพาะ   -  person samanime    schedule 10.02.2015


คำตอบ (1)


คุณสามารถใช้ฟังก์ชัน Squash Commit เมื่อสร้าง Merge-Request การบีบคอมมิตจาก Merge Request หมายถึงการคอมมิตคอมมิตทั้งหมดในคำขอนี้ให้เหลือคอมมิตเดียวเท่านั้น

ป้อนคำอธิบายรูปภาพที่นี่

หากคุณไม่ต้องการใช้อินเทอร์เฟซ GitLab เพื่อสิ่งนั้น:

# If you want to merge my-feature-branch to master
git checkout master
git merge --squash my-feature-branch
person vinzee    schedule 02.11.2020