ทำความเข้าใจกับ repo Git


1

ฉันเพิ่งรับช่วงโปรเจ็กต์ที่ตั้งค่าให้ใช้ Git และ bitbucket.org และฉันต้องการคำชี้แจงเกี่ยวกับการเคลื่อนย้ายเวิร์กโฟลว์ การตั้งค่าของฉันเป็นดังนี้:

  • เว็บไซต์ Drupal ของฉันถูกจัดเก็บไว้ใน Bitbucket
  • ฉันยังมี XAMPP ติดตั้งบน Mac ของฉันเพื่อทดสอบในพื้นที่และไซต์การผลิตของฉันอยู่ในกล่อง
  • ฉันคิดว่าฉันมีสาม repos: Bitbucket ในพื้นที่และบนเซิร์ฟเวอร์ที่ใช้งานจริง

เมื่อฉัน git clone โครงการของฉันไปยังเครื่องท้องถิ่นของฉันมันจะบันทึกไฟล์ไปยังโฟลเดอร์โครงการที่ /Users/myaccount/Projects. การติดตั้ง XAMPP ของฉันอยู่ที่ /Applications/XAMPP/htdocs/devsite. ดังนั้นฉันต้องย้ายไฟล์จาก Projects เข้าไป XAMPP เพื่อเรียกใช้เว็บไซต์ Drupal

หมายความว่าเมื่อฉันทำการเปลี่ยนแปลงไฟล์ภายในเครื่องที่พบใน XAMPP และฉันมีความสุขกับการเปลี่ยนแปลงทั้งหมดที่ฉันต้องการอัปเดต repos อื่น ๆ ฉันต้องย้ายไฟล์ของฉันกลับไปที่โฟลเดอร์โครงการก่อนทำการจัดเตรียมไฟล์หรือไม่ หรือฉันควรตั้งค่าที่ไฟล์ในเครื่องของฉันถูกโคลนไปที่ใด?

ความสัมพันธ์ของที่เก็บ git คืออะไร Project และไฟล์ในการติดตั้ง XAMPP ของฉัน

คำตอบ:


1

เมื่อคุณคอมไพล์สำเนา repo คุณจะตั้งค่าการเชื่อมโยงระหว่าง repo ระยะไกลและ repo ของคุณที่อนุญาตให้คุณ git pull และ git push เปลี่ยนไปมาจากสาขาหลักของคุณไปยังสาขาต้นแบบระยะไกล

เป็นการดีที่คุณจะตั้งค่าเพื่อให้รากเอกสาร XAMPP ของคุณชี้ไปที่ไฟล์ต้นฉบับของคุณ ด้วยวิธีนี้คุณจะสามารถแก้ไขไฟล์และทดสอบผลลัพธ์ได้ทันที การคัดลอกไฟล์กลับไปกลับมาเป็นการตั้งค่าที่แย่มากซึ่งจะนำคุณไปสู่การทำผิดที่แนะนำรหัสที่ยังไม่ทดลอง / buggy ใน repo หรือแย่กว่านั้นคือการสูญเสียการเปลี่ยนแปลง

ในทำนองเดียวกันการส่งเสริมการผลิตอาจเป็นเรื่องง่ายเหมือนการดึงคอมไพล์

กระบวนการทำงานทั่วไปฉันใช้:

- เริ่มหัวข้อสาขาใหม่ (ชำระเงิน git -b foo)
- แก้ไขแหล่งที่มาทดสอบการเปลี่ยนแปลง
- สถานะ git (ตรวจสอบไฟล์ใหม่, ไฟล์ที่อัพเดต) - git add -u (เพิ่มไฟล์ที่เปลี่ยนแปลงทั้งหมด) - คอมไพล์เพิ่ม / ใหม่ / ไฟล์เฉพาะ (ฉันทำสิ่งนี้สำหรับไฟล์ใหม่ใด ๆ ที่ฉันต้องการเพิ่มไป
- git กระทำ -m "ข้อความยืนยัน" - หลักการชำระเงิน git (สาขาการชำระเงินหลัก) - git pull (มีการเปลี่ยนแปลงใหม่ ๆ จากทีมไหม) - git merge foo (รวมการเปลี่ยนแปลงใหม่ของฉันจากสาขาหัวข้อของฉันไปยังสาขาหลักของฉัน) - git push (ผลักดันการเปลี่ยนแปลงจากสาขาหลักของฉันไปยังสาขาต้นแบบระยะไกล)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.