เริ่มต้นกับการโค่นล้ม Git หรือระบบควบคุมเวอร์ชันที่คล้ายคลึงกันเพื่อเก็บประวัติไฟล์ของฉันหรือไม่? [ปิด]


31

ฉันรู้ว่านี่อาจเป็นคำถามกว้าง ๆ บนพื้นผิว แต่ฉันกำลังมองหาตัวอย่างเฉพาะของการตั้งค่า / เวิร์กโฟลว์ที่ผู้คนใช้เพื่อเก็บประวัติเวอร์ชันของไฟล์ที่แก้ไขบนไซต์ WordPress ตัวอย่างเช่นเมื่อมีการพัฒนาเว็บไซต์ (และแม้หลังจากที่เผยแพร่แล้ว) ฉันมักจะทำการเปลี่ยนแปลงไฟล์ CSS และ PHP แต่ฉันไม่มีวิธีที่ยอดเยี่ยมในการแปลงไฟล์เหล่านั้นเป็นเวอร์ชันเก่ากว่า สำหรับวัตถุประสงค์ของฉันการเปลี่ยนแปลงในการติดตั้งการพัฒนาท้องถิ่นแล้วคัดลอกการเปลี่ยนแปลงเหล่านั้นไปยังไซต์สดมักเป็นปัญหามากกว่าที่ฉันต้องการ คำแนะนำเกี่ยวกับวิธีเริ่มต้นใช้งานเครื่องมือกำหนดเวอร์ชันเพื่อติดตามการแก้ไขไฟล์ในเว็บไซต์สด


1
แค่อยากรู้ไมค์ - ทำไมถึงแก้ไขชื่อ? ในความคิดของฉันชื่อคำถามควรเป็นไปตามกฎของไวยากรณ์ที่เหมาะสม บางทีนั่นอาจเป็นการสนทนาที่ดีสำหรับเมตา ...
เทรวิส Northcutt

คุณได้เป็นส่วนหนึ่งของการสนทนาเกี่ยวกับเมตาแล้ว :)
Annika Backstrom

คำตอบ:


14

ฉันไม่แน่ใจว่าคุณรู้มากแค่ไหนเกี่ยวกับการใช้การควบคุมเวอร์ชัน แต่เมื่อเร็ว ๆ นี้ฉันได้เปลี่ยนจาก SVN เป็น Git และพบว่ามันยอดเยี่ยมมาก!

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

ฉันขอแนะนำให้ใช้เวลาทำความคุ้นเคยกับ Git (ถ้าคุณยังไม่ได้ทำ) ฉันพบว่ามันง่ายกว่าและยุ่งยากน้อยกว่า SVN เมื่อพูดถึงการเปลี่ยน / เพิ่มโหลดไฟล์ (และแตกต่างจาก SVN ไม่ทำให้โง่.svnโฟลเดอร์ทุกแห่ง )

ฉันใช้ Mac ดังนั้นขออภัยหากไม่มีสิ่งเหล่านี้ใช้ แต่ฉันใช้Codaเป็นเครื่องมือแก้ไขรหัสและติดตั้ง Git ผ่านพอร์ต (โดยใช้ Porticus)

ถ้าฉันจะตั้งทุกอย่างใหม่ฉันจะทำ:

  1. ติดตั้งCoda

  2. ติดตั้งPorticus (ซึ่งคุณต้องติดตั้งพอร์ต แต่มีข้อมูลในหน้านั้น)

  3. เมื่อคุณติดตั้ง Porticus แล้วให้เปิดเปิดค้นหา "git-core" และติดตั้ง

  4. ดาวน์โหลดและติดตั้งGitX 7-5

  5. มีแนวทางที่ดีในการตั้งค่า repo คอมไพล์ที่นี่แต่ที่พื้นฐาน: 1. เปิดเทอร์มินัล 2. cdไปยังตำแหน่งที่คุณต้องการให้เว็บไซต์ของคุณอยู่ $: mkdir mysite && cd mysite3. $: git initและนั่นมัน! หากคุณเพิ่มไฟล์ลงในโฟลเดอร์นี้ให้ทำตามขั้นตอนต่อไป

  6. เมื่อคุณตั้งค่าพื้นที่เก็บข้อมูล GIT ภายใน (บทความด้านบน) แล้วถ้าคุณเปิดไดเรกทอรีนั้นใน GitX คุณจะสามารถกระทำสิ่งต่าง ๆ เป็นต้น

การตั้งค่าทั้งหมดบนเซิร์ฟเวอร์นั้นค่อนข้างยุ่งยากฉันมี MediaTemple และบัญชี Dreamhost ซึ่งทั้งคู่มี GIT อยู่นอกกรอบ ลิงก์ในขั้นตอนที่ 5 จะบอกวิธีเพิ่ม repo ระยะไกลดังนั้นคุณไม่ต้องทำเช่นนั้นจนกว่าคุณจะต้องการทำให้ไซต์สดของคุณเข้าสู่สมการ ฉันอยากจะแนะนำให้ทุกอย่างทำงานในพื้นที่ก่อน (ต่างจาก SVN, GIT ไม่ต้องการพื้นที่เก็บข้อมูลระยะไกลดังนั้นคุณสามารถทำทุกอย่างบนเครื่องของคุณได้ในขณะนี้)


คุณสามารถดูรายละเอียดเพิ่มเติมเกี่ยวกับเวิร์กโฟลว์ของคุณว่าเป็นอย่างไรเครื่องมือ / เครื่องมือแก้ไขที่คุณใช้วิธีการตั้งค่า GIT บนเซิร์ฟเวอร์สด ฯลฯ ฉันหวังว่าขั้นตอนที่ดีทีละขั้นตอนของการติดตั้งด้วย GIT
Travis Northcutt

ฉันเพิ่มบางขั้นตอนในการเริ่มต้นโชคดี!
Joe Hoyle

นอกจากนี้คุณมีบทช่วยสอนที่ดีที่คุณแนะนำสำหรับ GIT หรือไม่ ฉันในการโค่นล้มและได้รับที่ต้องการสวิทช์สำหรับทุกวัยเนื่องจากวิธีการโค่นล้มบอบบางสามารถ (และยังเป็นเพราะแช่งผู้ .svn โฟลเดอร์มากเกินไป :)!
MikeSchinkel

โจขอบคุณที่เพิ่มรายละเอียด ฉันใช้พีซี แต่ฉันสามารถหาเครื่องมือที่เทียบเท่าได้และนั่นควรเป็นประโยชน์สำหรับผู้ใช้ Mac คนอื่น ๆ
Travis Northcutt

ฉันสามารถแนะนำ git เท่านั้น มันเป็นเพียงหิน โดยไม่คำนึงว่าระบบปฏิบัติการใด ฉันใช้มันบน linux และบน windows บ่อยๆ (ดังนั้นต้องบอกว่า: ทุกวันตอนนี้) บน windows มีการทุบตีคอมไพล์ สิ่งที่ดีคือ: คุณมีคำสั่ง linux ทั้งหมดอยู่ในมือโดยตรง: code.google.com/p/msysgit
hakre

8

ฉันใช้ SVN สำหรับการควบคุมเวอร์ชันกับทุกสิ่งที่ฉันทำในการพัฒนา WordPress ฉันเริ่มต้นด้วยวิธีนี้เพราะฉันต้องการ SVN สำหรับการพัฒนาปลั๊กอิน ... เมื่อฉันเริ่มต้นที่นั่นมันเป็นส่วนขยายตามธรรมชาติที่จะใช้ SVN สำหรับธีมและสคริปต์ที่กำหนดเองบนไซต์ลูกค้าต่อไป

ปลั๊กอิน

เนื่องจากปลั๊กอินโฮสต์บนเซิร์ฟเวอร์ของ WordPress อยู่แล้วฉันเพิ่งตรวจสอบปลั๊กอินโดยตรงไปยัง/wp-content/plugins/ไดเรกทอรีของการติดตั้ง WordPress ในพื้นที่ของฉัน (ฉันเรียกใช้ WAMP บนกล่องพัฒนาของฉัน) จากนั้นฉันก็ทำการเปลี่ยนแปลงสำเนาโลคัลของฉันและเมื่อพร้อมสำหรับการแสดงให้ส่งไปที่ที่เก็บ เป็นกระบวนการที่ราบรื่นไม่มีการอัปโหลด / ดาวน์โหลดและตรวจสอบทันทีว่าการเปลี่ยนแปลงของฉันทำงาน

ธีมส์

ชุดรูปแบบแตกต่างกันเล็กน้อยโดยเฉพาะเมื่อสร้างสำหรับลูกค้า ฉันสร้างที่เก็บข้อมูลในเครื่อง (ฉันมีRพาร์ติชันบนฮาร์ดไดรฟ์ของฉันเพื่อวัตถุประสงค์นี้โดยเฉพาะ) และตรวจสอบที่เก็บข้อมูลที่ว่างเปล่าโดยตรงไปยัง/wp-content/themesไดเรกทอรีของฉัน จากนั้นฉันทำการเปลี่ยนแปลงตามความจำเป็นและพัฒนาจนกว่าจะพร้อมดำเนินการแก้ไขตามที่ฉันไป

เมื่อฉันพร้อมที่จะเผยแพร่ชุดรูปแบบไปยังเซิร์ฟเวอร์ที่ใช้งานจริงของลูกค้าฉันส่งออกพื้นที่เก็บข้อมูลบีบอัดและใช้ชุดรูปแบบดั้งเดิม >> เพิ่มฟังก์ชันการทำงานใหม่ภายใน WordPress ใช้งานได้กับปลั๊กอินที่กำหนดเอง (ที่ไม่ได้โฮสต์โดย WordPress) เช่นกัน

เครื่องมือ

อย่างที่ฉันบอกว่าฉันใช้ WAMP บนเครื่องท้องถิ่นของฉันเพื่อเรียกใช้การติดตั้งพัฒนา WordPress มันทำงานได้อย่างสมบูรณ์บนกล่องของฉันและช่วยให้ฉันสามารถเรียกใช้งาน WordPress ได้มากเท่าที่ฉันต้องการสำหรับโครงการเฉพาะ

สำหรับ SVN ผมใช้เต่า SVN ฟรีใช้งานง่ายอย่างน่าทึ่งและผสานรวมกับโครงสร้างไฟล์และคำสั่งของ Windows การอัพเดตการคอมมิทและการเอ็กซ์ปอร์ตเป็นเพียงการคลิกขวาง่ายๆเลือกการดำเนินการคำสั่ง การใช้ "ส่งออก" ช่วยให้คุณสามารถส่งทั้งโฟลเดอร์ (โดยไม่มี.svnโฟลเดอร์ที่น่ารำคาญ) โดยตรงไปยังตำแหน่งที่คุณเลือก - ฉันมักจะส่งออกไปยังเดสก์ท็อป การซิปโฟลเดอร์ยังเป็นการดำเนินการคลิกขวาและ WordPress จัดการกับการอัปโหลด

การถ่ายโอนไฟล์ด้วยตนเองอาจเป็นเรื่องยุ่งยากโดยเฉพาะอย่างยิ่งถ้าคุณเปลี่ยนไฟล์หนึ่งไฟล์ แต่ไม่ทั้งหมด หากคุณแทน FTP ในไดเรกทอรีทั้งหมดด้วยการเลือก "แทนที่ทั้งหมด" คุณจะสามารถแทนที่ไฟล์เก่าได้ง่ายกว่ามาก (และคุณไม่ต้องคอยติดตามว่ามีการเปลี่ยนแปลงใดบ้าง มันเหมือนกับการติดตั้ง WordPress แบบเก่าที่ใช้เวลา 5 นาทีเพียงแค่แทนที่ทุกอย่างด้วยเวอร์ชันใหม่


3

โดยส่วนตัวแล้วฉันคิดว่ามันเป็นแบบฝึกหัดที่สนุกที่จะติดตั้ง SVN / GIT และจัดการมัน แต่ถ้าคุณสามารถแกว่ง $ 15 ต่อเดือน Beanstalk นั้นคุ้มค่าทุกสตางค์ พวกเขาจัดการเซิร์ฟเวอร์ทั้งหมดสำหรับคุณ http://beanstalkapp.com/ เครื่องมือการปรับใช้ FTP นั้นยอดเยี่ยม Mine จะปรับใช้เวอร์ชันโดยอัตโนมัติไปยังเซิร์ฟเวอร์การแสดงละครของฉันเมื่อฉันส่งตัวอย่าง

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

เราเก็บสำเนาการทำงาน SVN ไว้ในดรอปบ็อกซ์จากนั้นฉันส่งไฟล์เมื่อถึงเวลาเขียน นักออกแบบของฉันจะไม่ยอมรับไฟล์หรือจัดการกับ SVN ดังนั้นนี่คือการรวม

ฉันชอบ SVN เพราะฉันไม่ต้องการเส้นทางทั้งหมดที่ GIT นั้นยอดเยี่ยมและมีเครื่องมือ GUI ที่ดีกว่าสำหรับ SVN


2

ฉันชอบAptanaมากมันมีการโค่นล้มในตัวและคุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ของคุณด้วย ftp / sftp ได้อย่างง่ายดายและดันไฟล์ขึ้นมาอีกคุณสมบัติที่ยอดเยี่ยมที่มีอยู่คือถ้าคุณสร้างโครงการ php ใหม่และรวม WordPress ทั้งหมด โฟลเดอร์ (ด้วย wp-admin, รวม wp) คุณจะได้รับโค้ดที่สมบูรณ์ในไฟล์ธีมของคุณ

ในการตั้งค่าของฉัน repo เป็นท้องถิ่น


"repo" คืออะไร?
Travis Northcutt

2
"repo" เป็นชวเลขทั่วไปสำหรับ "repository"
Trevor Bramble

"repo" = "ที่เก็บข้อมูล"
MikeSchinkel

ฉันยังใช้คอมไพล์ ( เช่นปลั๊กอิน ) ใน Aptana (ภายใต้ win และ linux) ทำงานได้ดีและใช้งานง่าย
bueltge

1

คุณขอ "แต่ฉันกำลังมองหาตัวอย่างเฉพาะของการตั้งค่า / เวิร์กโฟลว์ที่ผู้คนใช้เพื่อเก็บประวัติรุ่นของไฟล์ที่แก้ไขบนเว็บไซต์ WordPress" แต่คุณยังพูดถึงผลิตภัณฑ์ :)

คุณจะได้คำตอบด้านบนของรายการเครื่องมือและแนวปฏิบัติที่ดีที่สุด แต่ฉันจะมุ่งเน้นไปที่เวิร์กโฟลว์: พวกเขาไม่ใช่คุณสมบัติพิเศษ

แต่สำหรับตัวอย่างทั่วไป / การตั้งค่า / เวิร์กโฟลว์:

สำหรับผู้เริ่ม: มีรูปแบบ CM ดังนั้นไม่ขึ้นกับการใช้เครื่องมือ Google ในรูปแบบ CM, หนังสือจำนวนมากออกมีวิกิพีเดียเป็นชุมชนแม้เช่นhttp://www.cmcrossroads.com/forums

นอกจากนี้ยังมีคำแนะนำในการตั้งค่ากลยุทธ์การสตรีมที่ถูกต้อง (กลยุทธ์การสตรีมของ Google) ฯลฯ ...

ฉันไม่คิดว่าจะมีอะไรพิเศษเกี่ยวกับการปรับใช้ WordPress เมื่อเทียบกับ CM Management รวมถึงการพัฒนาแบบคู่ขนานบน Siebel, SAP, Informatica, Java และอื่น ๆ โรงงานขนาดใหญ่ มันเกือบจะเป็นค่าเริ่มต้นจริงๆ

ฉันคิดว่าสิ่งที่ขาดหายไปคือไม่มีใครเขียน CMplan สำหรับการพัฒนา WordPress (ยัง) (IEEE) เมื่อมีคนทำ (เครื่องมืออิสระ) ฉันสามารถเติมข้อกำหนดได้ด้วยเครื่องมือใด ๆ

ฉันคิดว่าเหตุผลที่แผนยังไม่ได้เขียนคือการใช้งาน WordPress เกือบทั้งหมดยังคงดำเนินการโดย 1 คนที่มีการตั้งค่าการพัฒนาที่ง่ายดังนั้นจึงไม่ได้มีนักพัฒนา / นักออกแบบหลายคนในระยะการสร้าง สภาพแวดล้อมการทดสอบเช่น

แผน CMP เริ่มต้นด้วยการระบุ CI ทั้งหมดในคำอื่น ๆ : ทำรายการทุกประเภทของ CI ที่มีอยู่ในการใช้งาน WordPress รวมถึงแอพปลั๊กอินฐานข้อมูลเอกสารคู่มือช่วยเหลือเนื้อหาไฟล์ config บันทึกประจำรุ่น (!) ฯลฯ .. ) นั่นเป็นการเริ่มต้นที่ดี จากนั้นตัดสินใจเลือกสิ่งที่คุณต้องการนำภายใต้ CM

ถัดไปตัดสินใจเลือกสิ่งที่ทำให้เกิดการเปลี่ยนแปลงของ CI เหล่านี้เช่นการโทรหาลูกค้าเพื่อแก้ไขข้อบกพร่องหรือการอัพเกรดที่จำเป็น หากทำถูกต้องสิ่งนี้จะนำไปสู่สถานการณ์ที่คุณมีความรู้สึกว่าอยู่ภายใต้การควบคุม

การตัดสินใจเช่นการผสานกลับจากการผลิตไปสู่การพัฒนาและวิธีการจัดการที่เป็นส่วนหนึ่งของบทนั้น (2 รูปแบบหลักที่นี่) (แม้ว่าจะมีหลักสูตรที่คุณควรพยายามลดขนาดโปรแกรมแก้ไขด่วนเหล่านี้)

ต่อมามองหาเครื่องมือในการทำ CM ที่ด้านหนึ่ง (ซึ่งรวมถึงการจัดการเวอร์ชันเป็นหนึ่งในเครื่องมือ) และเปลี่ยนเครื่องมือการจัดการในอีกด้านหนึ่ง (ซึ่งทำให้คุณมีสติ)

ฉันคิดว่านั่นเป็นขั้นตอนการทำงานที่ดีที่สุดตั้งแต่เริ่มต้นจนถึงตอนนี้ฉันก็ยังไม่มีใครทำ ฉันคิดว่าเมื่อคนแรกเขียนแผน WordPress CM (อ้างอิงจาก IEEE) ทุกคน WordPress คนอื่น ๆ ในโลกสามารถคัดลอกแผนนั้นและทำการปรับเปลี่ยนและใช้รูปแบบในการใช้เครื่องมือของพวกเขา

นั่นไม่ใช่งานมากเกินไป / หนักเกินไป: ขึ้นอยู่กับว่าคุณมี บริษัท หรือไม่: มันสามารถช่วยลาครั้งใหญ่ของคุณในหนึ่งวันเพื่อให้ได้แผน CM ที่ดี


0

ฉันอยู่ในโฮสต์ที่ใช้ร่วมกันดังนั้นฉันจึงไม่สามารถติดตั้ง SVN หรืออะไรทำนองนั้น ฉันใช้ Mercurial เพื่อควบคุมเวอร์ชันบนเครื่องที่บ้านของฉัน ฉันใช้การซิงค์ FTP ของ Beyond Compare เพื่อทำให้โฟลเดอร์ในเครื่องและในระยะไกลตรงกัน


0

ฉันกำลังใช้คอมไพล์ มันง่าย คุณต้องเข้าใจคำสั่งง่ายๆเช่นโคลน, comit, push, pull และคุณพร้อมที่จะไป นั่นเป็นพื้นฐาน

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

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