เขียนเรื่องราวของคุณเองด้วยคอมไพล์

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

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

เรียนรู้ที่ไหน git?

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

git ทำอะไร?

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

สิ่งที่น่าสนใจเกี่ยวกับคอมไพล์คือวิธีการรักษาเวอร์ชันของข้อมูล ก่อนหน้านี้ (โปรแกรมควบคุมเวอร์ชันอื่น ๆ ) ทำการบีบอัดไฟล์ที่มีอยู่ทั้งหมด ณ จุดหนึ่งในประวัติเช่นการสร้างไฟล์ การสำรองข้อมูล. Git ใช้แนวทางที่แตกต่างออกไปเมื่อใช้ไฟล์ commit จุดในประวัติศาสตร์ถูกทำเครื่องหมายจุดนั้นในประวัติศาสตร์มีชุดของการปรับเปลี่ยนและการทำงานในตอนท้ายของวันการปรับเปลี่ยนทั้งหมดจะรวมเข้าด้วยกันเมื่อเวลาผ่านไปและไฟล์จะได้รับเพื่อให้สามารถบีบอัดหรือทำเครื่องหมายเป็นเหตุการณ์สำคัญของ เวอร์ชัน เนื่องจากฉันรู้ว่าทั้งหมดนี้ฟังดูซับซ้อนฉันจะพาคุณไปสู่การเดินทางที่มีมนต์ขลังในตัวอย่างพื้นฐานขั้นพื้นฐาน

โครงการ Calculamatics เล็กน้อย

Calculamatics จะเป็นโปรแกรมที่จะหากำลังสองของตัวเลขที่กำหนดเราจะทำในรูป C และมันจะง่ายที่สุดดังนั้นอย่าคาดหวังว่าจะได้รับการตรวจสอบความปลอดภัยจากฉันมากนัก ก่อนอื่นเราจะสร้างที่เก็บฉันจะทำด้วย Github เพื่อฆ่านกสองตัวด้วยหินก้อนเดียว:

เป็นเจ้าของ. Christopher Diaz Riveros

เราได้เพิ่มสิ่งที่ค่อนข้างง่ายเช่นใบอนุญาต (สำคัญมากถ้าคุณต้องการปกป้องงานของคุณในกรณีของฉันบังคับให้พวกเขาแบ่งปันผลลัพธ์หากต้องการใช้เป็นฐาน: P)

ตอนนี้ไปที่อาคารผู้โดยสารที่รักของเรา git clone เป็นคำสั่งที่รับผิดชอบในการดาวน์โหลดที่เก็บที่อยู่ในไฟล์ url มอบหมายและสร้างสำเนาในเครื่องบนคอมพิวเตอร์ของเรา

เป็นเจ้าของ. Christopher Diaz Riveros

ตอนนี้มาตรวจสอบกับ git log สิ่งที่เกิดขึ้นในประวัติศาสตร์ของโครงการของเรา:

ที่นี่เรามีข้อมูลมากมายในสีต่างๆ🙂มาลองอธิบายกัน:

บรรทัดสีเหลืองแรกคือ "คอมมิตบาร์โค้ด" แต่ละคอมมิตจะมีตัวระบุเฉพาะของตัวเองซึ่งคุณสามารถทำสิ่งต่างๆได้มากมาย แต่เราจะบันทึกไว้ในภายหลัง ตอนนี้เรามี HEAD ของเซเลสเตและ master เขียว. สิ่งเหล่านี้คือ "ตัวชี้" หน้าที่ของมันคือชี้ไปที่ตำแหน่งปัจจุบันของประวัติศาสตร์ของเรา (HEAD) และสาขาที่เรากำลังดำเนินการบนคอมพิวเตอร์ของเรา (master).

origin/master เป็นส่วนหนึ่งของอินเทอร์เน็ต origin เป็นชื่อเริ่มต้นที่กำหนดให้กับไฟล์ URLและ master เป็นสาขาที่คุณทำงานอยู่ ... เพื่อให้ง่ายสำหรับผู้ที่มี / เป็นคนที่ไม่ได้อยู่ในทีมของเรา แต่เป็นการอ้างอิงถึงสิ่งที่อยู่บนอินเทอร์เน็ต

จากนั้นเรามีผู้เขียนวันที่และเวลาและสรุปการกระทำ นี่คือการทบทวนเล็กน้อยเกี่ยวกับสิ่งที่เกิดขึ้น ณ จุดนั้นในประวัติศาสตร์สำคัญมากในหลายโครงการและมีข้อมูลมากมายที่ถูกประณาม ลองมาดูสิ่งที่เกิดขึ้นในการกระทำด้วยคำสั่ง git show <código-de-commit>

เป็นเจ้าของ. Christopher Diaz Riveros

คำสั่ง git show นำเราไปที่หน้าจอนี้ในรูปแบบแพทช์ซึ่งคุณสามารถดูสิ่งที่เพิ่มและสิ่งที่ถูกลบ (หากมีการลบออก) ในเวลานั้นในประวัติศาสตร์จนถึงตอนนี้มันแสดงให้เราเห็นเพียงว่า บันทึก .gitignore,README.mdLICENSE.

ตอนนี้มาเริ่มธุรกิจกันเถอะมาเขียนไฟล์🙂เราจะสร้างความสำเร็จครั้งแรกในประวัติศาสตร์ของเรา😀:

เป็นเจ้าของ. Christopher Diaz Riveros

สั้น ๆ เราจะสร้างโปรแกรมที่แสดงจำนวนอาร์กิวเมนต์ที่ส่งผ่านเมื่อเรียกใช้งานง่ายๆ🙂

เป็นเจ้าของ. Christopher Diaz Riveros

มันง่ายมากตอนนี้เรามาดูคำสั่งที่มีประโยชน์ต่อไปนี้: git status

เป็นเจ้าของ. Christopher Diaz Riveros

วิญญาณใจดีบางคนแปลคอมไพล์เพื่อให้ง่ายต่อการติดตามที่นี่เรามีข้อมูลที่เป็นประโยชน์มากมายเรารู้ว่าเราอยู่ในสาขาหลักที่เราได้รับการอัปเดตด้วย origin/master(สาขา Github) เรามีไฟล์ที่ไม่ได้ติดตาม! และที่จะเพิ่มเราต้องใช้ git addมาลองกันเถอะ🙂

เป็นเจ้าของ. Christopher Diaz Riveros

ตอนนี้เรามีพื้นที่สีเขียวใหม่ซึ่งจะแสดงไฟล์ที่เราได้เพิ่มลงในพื้นที่ทำงาน ในสถานที่นี้เราสามารถจัดกลุ่มการเปลี่ยนแปลงของเราเพื่อทำการกระทำการกระทำประกอบด้วยเหตุการณ์สำคัญตลอดประวัติศาสตร์ของโครงการของเราเราจะสร้างข้อตกลง🙂 git commit

เป็นเจ้าของ. Christopher Diaz Riveros

อธิบายสั้น ๆ ว่าเส้นสีเหลืองคือชื่อของคอมมิตของเราฉันเขียน main.c เพื่อการอ้างอิงแบบภาพเท่านั้น ข้อความสีดำคือคำอธิบายของการเปลี่ยนแปลงที่เกิดขึ้นตั้งแต่การกระทำก่อนหน้านี้จนถึงตอนนี้🙂เราบันทึกไฟล์และเราจะเห็นการกระทำของเราถูกบันทึกไว้ในรีจิสทรี

เป็นเจ้าของ. Christopher Diaz Riveros

ตอนนี้เราจะดูประวัติของโครงการของเราด้วย git log

เป็นเจ้าของ. Christopher Diaz Riveros

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

อย่างที่เราเห็นโปรแกรมของเราเติบโตขึ้นมาก😀ตอนนี้เรามีฟังก์ชั่น imprimir_ayuda() ซึ่งแสดงข้อความเกี่ยวกับวิธีใช้การคำนวณและในบล็อก main() ตอนนี้เราทำการตรวจสอบด้วย if(สิ่งที่เราจะเห็นในบทช่วยสอนการเขียนโปรแกรมในเวลาอื่นสำหรับตอนนี้จำเป็นที่จะต้องรู้ว่าหากมีการป้อนอาร์กิวเมนต์มากกว่า 2 ข้อใน Calculamatics โปรแกรมจะสิ้นสุดลงและความช่วยเหลือจะปรากฏขึ้นมาดำเนินการกัน:

เป็นเจ้าของ. Christopher Diaz Riveros

อย่างที่คุณเห็นตอนนี้มันพิมพ์หมายเลขที่ส่งมอบแทนจำนวนข้อโต้แย้ง แต่ฉันไม่เคยบอกคุณมาก่อน🙂สำหรับคนที่อยากรู้อยากเห็น echo $? แสดงรหัสออกของโปรแกรมสุดท้ายที่เรียกใช้งานซึ่งก็คือ 1 เพราะมันจบลงด้วยความผิดพลาด ตอนนี้เรามาดูกันว่าเรื่องราวของเราดำเนินไปอย่างไร:

เป็นเจ้าของ. Christopher Diaz Riveros

ตอนนี้เรารู้แล้วว่าเราเป็น 1 ผู้กระทำก่อน Github นั่นคือไฟล์ main.c ได้รับการแก้ไขมาสร้างคอมมิตต่อไปโดยทำ git add main.c  แล้ว git commit🙂

เป็นเจ้าของ. Christopher Diaz Riveros

ตอนนี้เรามีความเฉพาะเจาะจงมากขึ้นเนื่องจากเราได้ใช้ฟังก์ชันและเปลี่ยนรหัสตรวจสอบความถูกต้อง ตอนนี้ได้รับการบันทึกแล้วเราจะตรวจสอบการเปลี่ยนแปลงครั้งล่าสุดของเรา เราสามารถดูได้ด้วย git show HEAD

เป็นเจ้าของ. Christopher Diaz Riveros

ตอนนี้คุณสามารถเห็นเส้นสีแดงและสีเขียวเราได้เพิ่มไลบรารี stdlib.hแก้ไขโค้ดส่วนใหญ่และเพิ่มฟังก์ชันให้กับเรื่องราวของเรา

ตอนนี้เราจะดูบันทึก: (git log)

เป็นเจ้าของ. Christopher Diaz Riveros

เราจะเห็นว่าเราสองคนมุ่งมั่นก่อนรุ่น Github เราจะทำให้เครื่องหมายเท่ากัน🙂สำหรับที่เราใช้ git push origin master

ด้วยเหตุนี้เราจึงบอกว่าให้ส่งคำสั่งของฉันไปที่ url origin ในสาขา master

เป็นเจ้าของ. Christopher Diaz Riveros

ยินดีด้วย! ตอนนี้การเปลี่ยนแปลงของคุณอยู่ใน Github คุณไม่เชื่อฉันเหรอ? มาทบทวนกัน😉

เป็นเจ้าของ. Christopher Diaz Riveros

ตอนนี้เรามี 3 คอมมิตบน Github 🙂

ข้อมูลอย่างย่อ

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


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   พอล dijo

    ดี ... ไม่ทราบว่าเป็นคุณหรือเปล่า แต่ไม่เห็นภาพในรายงานนี้ ...

    ความนับถือ

  2.   พอล dijo

    มันเป็นปัญหากับเบราว์เซอร์ของฉัน อับอายกับความน่ารำคาญ

  3.   Tecprog โลก dijo

    ฉันยังคงต้องอ่านรายละเอียดเพิ่มเติมฉันเป็นมือใหม่

  4.   กิ dijo

    บทความที่ดีสำหรับการเริ่มต้นด้วยคอมไพล์แม้ว่าฉันจะแนะนำให้จดบันทึกเพื่อทำความเข้าใจรายละเอียด
    มีสองสิ่งที่ไม่ชัดเจนสำหรับฉัน:
    ตัวเลือกสำหรับอะไร เพิ่ม. gitignore Cแม้ว่าฉันเดาว่าฉันจะเห็นมันเมื่อฉันฝึกฝน
    ทำไมต้องทำ git เพิ่ม main.c อีกครั้งก่อนคอมมิตครั้งต่อไปเพิ่ม main.c บอก git ให้เปรียบเทียบไฟล์นั้นกับเวอร์ชันเครือข่ายหรือไม่ ไม่มีการเปรียบเทียบไฟล์ที่เพิ่มทั้งหมดสำหรับการติดตามโดยอัตโนมัติหรือ

    1.    คริส ADR dijo

      สวัสดี Guillermo 🙂เป็นเรื่องดีที่คุณพบว่ามีประโยชน์เพื่อตอบคำถามของคุณ:

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

      แม้ว่า git จะติดตามไฟล์แต่ละไฟล์ที่เพิ่มลงในโครงสร้างการทำงาน แต่ก็จำเป็นต้องเลือกโดยเฉพาะว่าไฟล์ใดจะเข้าสู่การคอมมิตถัดไปเพื่อให้คุณเป็นตัวอย่างสมมติว่างานของคุณได้นำคุณไปแก้ไข 5 ไฟล์ก่อนหน้านี้ สามารถเห็นผลลัพธ์ได้ หากคุณต้องการเจาะจงมากขึ้นและอธิบายสิ่งที่ทำในแต่ละรายการคุณสามารถเพิ่ม git เพิ่ม file1; คอมมิตคอมไพล์; git เพิ่ม file2; คอมมิต… .3,4,5; คอมมิตคอมมิต ด้วยวิธีนี้เรื่องราวของคุณจะสะอาดและมีการเปลี่ยนแปลงที่ชัดเจน และในกรณีที่คุณต้องเปลี่ยนแปลงบางสิ่งหรือเปลี่ยนกลับ (หัวข้อขั้นสูงกว่า) คุณสามารถเปลี่ยนบางสิ่งบางอย่างหรือเพิ่มสิ่งที่ต้องการโดยไม่ต้องเปลี่ยนส่วนที่เหลือ

      หวังว่ามันจะช่วย🙂ทักทายและขอบคุณสำหรับการถาม

    2.    คริส ADR dijo

      PS: git add ไม่ได้บอกว่าให้เปรียบเทียบกับเวอร์ชันบนเครือข่าย แต่กับการกระทำก่อนหน้านี้ในสายงานของคุณหากเป็นแบบ local (สีเขียว) จะเปรียบเทียบกับอันนั้นหากเป็นรีโมต (สีแดง) ก็จะ เปรียบเทียบกับที่อื่น ๆ เพียงเพื่อชี้แจง😉

      1.    กิ dijo

        สมบูรณ์แบบแน่นอนว่ามันชัดเจน