สวัสดีทุกคน🙂ก่อนที่จะดำเนินการต่อด้วยข้อความของรายการคำสั่งซื้อฉันต้องการเฉลิมฉลองการเปิดตัว git 2.16 โดยขอบคุณผู้ที่ส่งแพตช์และผู้ใช้แต่ละคนโดยรวมแล้วเรามี 4000 บรรทัดระหว่างการอัปเดตและการแก้ไข ซึ่งไม่ได้พูดถึงเวอร์ชั่นแรกของฉันได้ดีนัก แต่มันพูดถึงความมีน้ำใจของคุณ🙂ขอบคุณ! ตอนนี้ฉันจะบอกความลับเล็ก ๆ น้อย ๆ แก่คุณจนถึงตอนนี้ยังไม่มีช่วงเวลาที่ฉันไม่ได้นั่งเขียนบทความและคิดมากเกี่ยวกับเรื่องนี้โดยปกติฉันจะเขียนติดต่อกันและจากนั้นจิ้งจกที่ดีก็ใช้ความกรุณาของ แก้ไขข้อผิดพลาดในการพิมพ์ของฉัน🙂ขอบคุณเขาด้วย
นี่ไม่ใช่สิ่งที่ดีที่สุดเมื่อเราพูดถึงการเขียนบทความควรมีวัตถุประสงค์และวางโครงสร้างไว้ด้วยกันและทำเครื่องหมายจุดเล็ก ๆ และบทวิจารณ์และอื่น ๆ ... ตอนนี้สิ่งนี้ไม่เพียง แต่ใช้กับบล็อกโดยทั่วไปเท่านั้น แต่ยังจำเป็นสำหรับ ซอฟต์แวร์ที่แสร้งทำเป็นว่าดี🙂สำหรับงานนี้และหลังจากเกิดปัญหาบางอย่างกับซอฟต์แวร์ควบคุมเวอร์ชันที่ใช้ในการพัฒนาเคอร์เนลเมื่อไม่กี่ปีก่อนก็ถือกำเนิดขึ้น git
🙂
เรียนรู้ที่ไหน git
?
จำนวนเอกสารรอบ ๆ คอมไพล์มีจำนวนมากแม้ว่าเราจะเอาหน้าคนที่มาพร้อมกับการติดตั้งเราก็จะมีการอ่านจำนวนมาก ฉันเองพบไฟล์ หนังสือคอมไพล์ ได้รับการออกแบบมาค่อนข้างดีแม้ว่าฉันจะแปลบางส่วนของส่วนที่ 7 แล้วฉันก็ยังพลาดไปบ้าง แต่ให้เวลาฉันหน่อยบางทีในเดือนนี้ฉันสามารถแปลสิ่งที่เหลืออยู่ของส่วนนั้นได้
git ทำอะไร?
Git ได้รับการออกแบบให้รวดเร็วมีประสิทธิภาพเรียบง่ายและเพื่อรองรับข้อมูลจำนวนมากหลังจากนั้นชุมชนเคอร์เนลได้สร้างขึ้นสำหรับซอฟต์แวร์ของตนซึ่งเป็นหนึ่งในผลงานร่วมกันของซอฟต์แวร์ฟรีที่ใหญ่ที่สุดในโลกและมีหลายร้อย การมีส่วนร่วมต่อชั่วโมงในฐานรหัสที่เกินหนึ่งล้านบรรทัด
สิ่งที่น่าสนใจเกี่ยวกับคอมไพล์คือวิธีการรักษาเวอร์ชันของข้อมูล ก่อนหน้านี้ (โปรแกรมควบคุมเวอร์ชันอื่น ๆ ) ทำการบีบอัดไฟล์ที่มีอยู่ทั้งหมด ณ จุดหนึ่งในประวัติเช่นการสร้างไฟล์ การสำรองข้อมูล. Git ใช้แนวทางที่แตกต่างออกไปเมื่อใช้ไฟล์ commit
จุดในประวัติศาสตร์ถูกทำเครื่องหมายจุดนั้นในประวัติศาสตร์มีชุดของการปรับเปลี่ยนและการทำงานในตอนท้ายของวันการปรับเปลี่ยนทั้งหมดจะรวมเข้าด้วยกันเมื่อเวลาผ่านไปและไฟล์จะได้รับเพื่อให้สามารถบีบอัดหรือทำเครื่องหมายเป็นเหตุการณ์สำคัญของ เวอร์ชัน เนื่องจากฉันรู้ว่าทั้งหมดนี้ฟังดูซับซ้อนฉันจะพาคุณไปสู่การเดินทางที่มีมนต์ขลังในตัวอย่างพื้นฐานขั้นพื้นฐาน
โครงการ Calculamatics เล็กน้อย
Calculamatics จะเป็นโปรแกรมที่จะหากำลังสองของตัวเลขที่กำหนดเราจะทำในรูป C และมันจะง่ายที่สุดดังนั้นอย่าคาดหวังว่าจะได้รับการตรวจสอบความปลอดภัยจากฉันมากนัก ก่อนอื่นเราจะสร้างที่เก็บฉันจะทำด้วย Github เพื่อฆ่านกสองตัวด้วยหินก้อนเดียว:
เราได้เพิ่มสิ่งที่ค่อนข้างง่ายเช่นใบอนุญาต (สำคัญมากถ้าคุณต้องการปกป้องงานของคุณในกรณีของฉันบังคับให้พวกเขาแบ่งปันผลลัพธ์หากต้องการใช้เป็นฐาน: P)
ตอนนี้ไปที่อาคารผู้โดยสารที่รักของเรา git clone
เป็นคำสั่งที่รับผิดชอบในการดาวน์โหลดที่เก็บที่อยู่ในไฟล์ url
มอบหมายและสร้างสำเนาในเครื่องบนคอมพิวเตอร์ของเรา
ตอนนี้มาตรวจสอบกับ git log
สิ่งที่เกิดขึ้นในประวัติศาสตร์ของโครงการของเรา:
ที่นี่เรามีข้อมูลมากมายในสีต่างๆ🙂มาลองอธิบายกัน:
บรรทัดสีเหลืองแรกคือ "คอมมิตบาร์โค้ด" แต่ละคอมมิตจะมีตัวระบุเฉพาะของตัวเองซึ่งคุณสามารถทำสิ่งต่างๆได้มากมาย แต่เราจะบันทึกไว้ในภายหลัง ตอนนี้เรามี HEAD
ของเซเลสเตและ master
เขียว. สิ่งเหล่านี้คือ "ตัวชี้" หน้าที่ของมันคือชี้ไปที่ตำแหน่งปัจจุบันของประวัติศาสตร์ของเรา (HEAD
) และสาขาที่เรากำลังดำเนินการบนคอมพิวเตอร์ของเรา (master
).
origin/master
เป็นส่วนหนึ่งของอินเทอร์เน็ต origin
เป็นชื่อเริ่มต้นที่กำหนดให้กับไฟล์ URL
และ master
เป็นสาขาที่คุณทำงานอยู่ ... เพื่อให้ง่ายสำหรับผู้ที่มี /
เป็นคนที่ไม่ได้อยู่ในทีมของเรา แต่เป็นการอ้างอิงถึงสิ่งที่อยู่บนอินเทอร์เน็ต
จากนั้นเรามีผู้เขียนวันที่และเวลาและสรุปการกระทำ นี่คือการทบทวนเล็กน้อยเกี่ยวกับสิ่งที่เกิดขึ้น ณ จุดนั้นในประวัติศาสตร์สำคัญมากในหลายโครงการและมีข้อมูลมากมายที่ถูกประณาม ลองมาดูสิ่งที่เกิดขึ้นในการกระทำด้วยคำสั่ง git show <código-de-commit>
คำสั่ง git show นำเราไปที่หน้าจอนี้ในรูปแบบแพทช์ซึ่งคุณสามารถดูสิ่งที่เพิ่มและสิ่งที่ถูกลบ (หากมีการลบออก) ในเวลานั้นในประวัติศาสตร์จนถึงตอนนี้มันแสดงให้เราเห็นเพียงว่า บันทึก .gitignore
,README.md
y LICENSE
.
ตอนนี้มาเริ่มธุรกิจกันเถอะมาเขียนไฟล์🙂เราจะสร้างความสำเร็จครั้งแรกในประวัติศาสตร์ของเรา😀:
สั้น ๆ เราจะสร้างโปรแกรมที่แสดงจำนวนอาร์กิวเมนต์ที่ส่งผ่านเมื่อเรียกใช้งานง่ายๆ🙂
มันง่ายมากตอนนี้เรามาดูคำสั่งที่มีประโยชน์ต่อไปนี้: git status
วิญญาณใจดีบางคนแปลคอมไพล์เพื่อให้ง่ายต่อการติดตามที่นี่เรามีข้อมูลที่เป็นประโยชน์มากมายเรารู้ว่าเราอยู่ในสาขาหลักที่เราได้รับการอัปเดตด้วย origin/master
(สาขา Github) เรามีไฟล์ที่ไม่ได้ติดตาม! และที่จะเพิ่มเราต้องใช้ git add
มาลองกันเถอะ🙂
ตอนนี้เรามีพื้นที่สีเขียวใหม่ซึ่งจะแสดงไฟล์ที่เราได้เพิ่มลงในพื้นที่ทำงาน ในสถานที่นี้เราสามารถจัดกลุ่มการเปลี่ยนแปลงของเราเพื่อทำการกระทำการกระทำประกอบด้วยเหตุการณ์สำคัญตลอดประวัติศาสตร์ของโครงการของเราเราจะสร้างข้อตกลง🙂 git commit
อธิบายสั้น ๆ ว่าเส้นสีเหลืองคือชื่อของคอมมิตของเราฉันเขียน main.c เพื่อการอ้างอิงแบบภาพเท่านั้น ข้อความสีดำคือคำอธิบายของการเปลี่ยนแปลงที่เกิดขึ้นตั้งแต่การกระทำก่อนหน้านี้จนถึงตอนนี้🙂เราบันทึกไฟล์และเราจะเห็นการกระทำของเราถูกบันทึกไว้ในรีจิสทรี
ตอนนี้เราจะดูประวัติของโครงการของเราด้วย git log
อีกครั้งในบันทึกตอนนี้เราสามารถเห็นได้ว่าเส้นสีเขียวและสีแดงแตกต่างกันเนื่องจากในคอมพิวเตอร์ของเราเราเป็นหนึ่งในสิ่งที่กระทำเหนือสิ่งที่เก็บไว้บนอินเทอร์เน็ต🙂เรากำลังจะทำงานต่อไปสมมติว่าตอนนี้ฉันต้องการแสดง ข้อความในกรณีที่ผู้ใช้ใส่มากกว่าหนึ่งอาร์กิวเมนต์ในโปรแกรม (ซึ่งจะทำให้เครื่องคิดเลขสับสน🙂)
อย่างที่เราเห็นโปรแกรมของเราเติบโตขึ้นมาก😀ตอนนี้เรามีฟังก์ชั่น imprimir_ayuda()
ซึ่งแสดงข้อความเกี่ยวกับวิธีใช้การคำนวณและในบล็อก main()
ตอนนี้เราทำการตรวจสอบด้วย if
(สิ่งที่เราจะเห็นในบทช่วยสอนการเขียนโปรแกรมในเวลาอื่นสำหรับตอนนี้จำเป็นที่จะต้องรู้ว่าหากมีการป้อนอาร์กิวเมนต์มากกว่า 2 ข้อใน Calculamatics โปรแกรมจะสิ้นสุดลงและความช่วยเหลือจะปรากฏขึ้นมาดำเนินการกัน:
อย่างที่คุณเห็นตอนนี้มันพิมพ์หมายเลขที่ส่งมอบแทนจำนวนข้อโต้แย้ง แต่ฉันไม่เคยบอกคุณมาก่อน🙂สำหรับคนที่อยากรู้อยากเห็น echo $?
แสดงรหัสออกของโปรแกรมสุดท้ายที่เรียกใช้งานซึ่งก็คือ 1
เพราะมันจบลงด้วยความผิดพลาด ตอนนี้เรามาดูกันว่าเรื่องราวของเราดำเนินไปอย่างไร:
ตอนนี้เรารู้แล้วว่าเราเป็น 1 ผู้กระทำก่อน Github นั่นคือไฟล์ main.c
ได้รับการแก้ไขมาสร้างคอมมิตต่อไปโดยทำ git add main.c
แล้ว git commit
🙂
ตอนนี้เรามีความเฉพาะเจาะจงมากขึ้นเนื่องจากเราได้ใช้ฟังก์ชันและเปลี่ยนรหัสตรวจสอบความถูกต้อง ตอนนี้ได้รับการบันทึกแล้วเราจะตรวจสอบการเปลี่ยนแปลงครั้งล่าสุดของเรา เราสามารถดูได้ด้วย git show HEAD
ตอนนี้คุณสามารถเห็นเส้นสีแดงและสีเขียวเราได้เพิ่มไลบรารี stdlib.h
แก้ไขโค้ดส่วนใหญ่และเพิ่มฟังก์ชันให้กับเรื่องราวของเรา
ตอนนี้เราจะดูบันทึก: (git log
)
เราจะเห็นว่าเราสองคนมุ่งมั่นก่อนรุ่น Github เราจะทำให้เครื่องหมายเท่ากัน🙂สำหรับที่เราใช้ git push origin master
ด้วยเหตุนี้เราจึงบอกว่าให้ส่งคำสั่งของฉันไปที่ url origin
ในสาขา master
ยินดีด้วย! ตอนนี้การเปลี่ยนแปลงของคุณอยู่ใน Github คุณไม่เชื่อฉันเหรอ? มาทบทวนกัน😉
ตอนนี้เรามี 3 คอมมิตบน Github 🙂
ข้อมูลอย่างย่อ
เราได้สัมผัสกับแง่มุมพื้นฐานที่สุดของ git
ตอนนี้พวกเขาสามารถสร้างเวิร์กโฟลว์ง่ายๆในโปรเจ็กต์ของพวกเขาได้แล้วซึ่งแทบจะไม่เกิดจากสิ่งต่างๆมากมายที่สามารถทำได้ด้วยคอมไพล์ แต่มันเป็นสิ่งที่ใช้งานได้จริงและเป็นประจำทุกวันสำหรับนักพัฒนาหรือบล็อกเกอร์ เรายังไม่ถึงจุดสิ้นสุดของเครื่องคิดเลข แต่เราจะจากไปอีกครั้ง😉ขอบคุณมากที่มาที่นี่และฉันหวังว่ามันจะช่วยให้คุณมีส่วนร่วมในหลาย ๆ โครงการ😀ทักทาย
ดี ... ไม่ทราบว่าเป็นคุณหรือเปล่า แต่ไม่เห็นภาพในรายงานนี้ ...
ความนับถือ
มันเป็นปัญหากับเบราว์เซอร์ของฉัน อับอายกับความน่ารำคาญ
ฉันยังคงต้องอ่านรายละเอียดเพิ่มเติมฉันเป็นมือใหม่
บทความที่ดีสำหรับการเริ่มต้นด้วยคอมไพล์แม้ว่าฉันจะแนะนำให้จดบันทึกเพื่อทำความเข้าใจรายละเอียด
มีสองสิ่งที่ไม่ชัดเจนสำหรับฉัน:
ตัวเลือกสำหรับอะไร เพิ่ม. gitignore Cแม้ว่าฉันเดาว่าฉันจะเห็นมันเมื่อฉันฝึกฝน
ทำไมต้องทำ git เพิ่ม main.c อีกครั้งก่อนคอมมิตครั้งต่อไปเพิ่ม main.c บอก git ให้เปรียบเทียบไฟล์นั้นกับเวอร์ชันเครือข่ายหรือไม่ ไม่มีการเปรียบเทียบไฟล์ที่เพิ่มทั้งหมดสำหรับการติดตามโดยอัตโนมัติหรือ
สวัสดี Guillermo 🙂เป็นเรื่องดีที่คุณพบว่ามีประโยชน์เพื่อตอบคำถามของคุณ:
.gitignore เป็นไฟล์ที่บอกคอมไพล์ว่ารูปแบบหรือรูปแบบใดที่จะละเว้นในกรณีนี้การเลือก C ทำให้ไฟล์ถูกละเว้นและไฟล์อื่น ๆ ที่สร้างขึ้นในเวลาคอมไพล์ซึ่งเป็นสิ่งที่ดีเพราะมิฉะนั้นคอมไพล์ของคุณจะบ้าทันที ของการคอมไพล์และการติดตามแต่ละครั้งคุณสามารถตรวจสอบรูปแบบจำนวนมากที่คอมไพล์ละไว้ในเทมเพลต C ได้โดยทำ cat หรือด้วยโปรแกรมแก้ไขข้อความ
แม้ว่า git จะติดตามไฟล์แต่ละไฟล์ที่เพิ่มลงในโครงสร้างการทำงาน แต่ก็จำเป็นต้องเลือกโดยเฉพาะว่าไฟล์ใดจะเข้าสู่การคอมมิตถัดไปเพื่อให้คุณเป็นตัวอย่างสมมติว่างานของคุณได้นำคุณไปแก้ไข 5 ไฟล์ก่อนหน้านี้ สามารถเห็นผลลัพธ์ได้ หากคุณต้องการเจาะจงมากขึ้นและอธิบายสิ่งที่ทำในแต่ละรายการคุณสามารถเพิ่ม git เพิ่ม file1; คอมมิตคอมไพล์; git เพิ่ม file2; คอมมิต… .3,4,5; คอมมิตคอมมิต ด้วยวิธีนี้เรื่องราวของคุณจะสะอาดและมีการเปลี่ยนแปลงที่ชัดเจน และในกรณีที่คุณต้องเปลี่ยนแปลงบางสิ่งหรือเปลี่ยนกลับ (หัวข้อขั้นสูงกว่า) คุณสามารถเปลี่ยนบางสิ่งบางอย่างหรือเพิ่มสิ่งที่ต้องการโดยไม่ต้องเปลี่ยนส่วนที่เหลือ
หวังว่ามันจะช่วย🙂ทักทายและขอบคุณสำหรับการถาม
PS: git add ไม่ได้บอกว่าให้เปรียบเทียบกับเวอร์ชันบนเครือข่าย แต่กับการกระทำก่อนหน้านี้ในสายงานของคุณหากเป็นแบบ local (สีเขียว) จะเปรียบเทียบกับอันนั้นหากเป็นรีโมต (สีแดง) ก็จะ เปรียบเทียบกับที่อื่น ๆ เพียงเพื่อชี้แจง😉
สมบูรณ์แบบแน่นอนว่ามันชัดเจน