แทนที่จะเป็นการแนะนำตัว
สวัสดีอนาคตวิศวกรซอฟต์แวร์อาวุโสข้อมูลพื้นฐานเกี่ยวกับ Git
Git คือระบบควบคุมเวอร์ชันแบบกระจายสำหรับโค้ดของเรา ทำไมเราถึงต้องการมัน? ทีมแบบกระจายต้องการระบบการจัดการงานบางประเภท จำเป็นต้องติดตามการเปลี่ยนแปลงที่เกิดขึ้นเมื่อเวลาผ่านไป นั่นคือทีละขั้นตอนเราจะดูว่าไฟล์ใดมีการเปลี่ยนแปลงและอย่างไร สิ่งนี้สำคัญอย่างยิ่งเมื่อคุณวิเคราะห์สิ่งที่ทำไปแล้วภายในงานเดียว: ทำให้สามารถย้อนกลับได้ ลองจินตนาการถึงสถานการณ์: มีโค้ดที่ใช้งานได้ ทุกอย่างอยู่ในนั้นดี แต่เราตัดสินใจที่จะปรับปรุงบางอย่าง ปรับแต่งที่นี่ ปรับแต่งที่นั่น ทุกอย่างเรียบร้อยดี แต่การปรับปรุงนี้ทำให้ฟังก์ชันการทำงานลดลงครึ่งหนึ่งและทำให้ไม่สามารถทำงานได้ แล้วจะเป็นอย่างไรต่อไป? หากไม่มี Gita เราจะต้องนั่งเป็นเวลาหลายชั่วโมงและจำได้ว่าทุกอย่างเป็นอย่างไร ดังนั้นเราจึงย้อนกลับไปที่การคอมมิตก็แค่นั้นแหละ หรือจะเกิดอะไรขึ้นถ้ามีนักพัฒนาสองคนทำการเปลี่ยนแปลงโค้ดพร้อมกัน? หากไม่มี Git ก็จะเป็นแบบนี้: พวกเขาคัดลอกโค้ดจากต้นฉบับและทำในสิ่งที่พวกเขาต้องทำ ถึงเวลานั้นแล้วและทั้งคู่ต้องการเพิ่มการเปลี่ยนแปลงลงในโฟลเดอร์หลัก แล้วสถานการณ์แบบนี้จะทำยังไงล่ะ.. ไม่กล้าแม้แต่จะกะเวลามาทำงานนี้ด้วยซ้ำ จะไม่มีปัญหาดังกล่าวเลยหากคุณใช้ Gitการติดตั้ง Git
มาติดตั้ง Git บนคอมพิวเตอร์ของคุณกันดีกว่า ฉันเข้าใจว่าทุกคนมี OS ที่แตกต่างกัน ดังนั้นฉันจะพยายามอธิบายหลายกรณีการติดตั้งสำหรับ Windows
ตามปกติคุณจะต้องดาวน์โหลดไฟล์ exe และเปิดใช้งาน ทุกอย่างง่ายดายที่นี่: คลิกที่ลิงก์ Google แรกติดตั้ง เท่านี้ก็เรียบร้อย สำหรับงานเราจะใช้ bash console ที่พวกเขาเตรียมไว้ให้ หากต้องการทำงานบน Windows คุณต้องเรียกใช้ Git Bash นี่คือลักษณะที่ปรากฏในเมนูเริ่ม:![เริ่มต้นใช้งาน Git: คำแนะนำโดยละเอียดสำหรับผู้เริ่มต้น - 2](https://cdn.javarush.com/images/article/7f9c3203-5ae5-46fd-b500-42b3979c2eaf/800.jpeg)
![เริ่มต้นใช้งาน Git: คำแนะนำโดยละเอียดสำหรับผู้เริ่มต้น - 3](https://cdn.javarush.com/images/article/52ad1966-4e34-4e47-ba78-8ce1ff395d18/1024.jpeg)
การติดตั้งสำหรับ Linux
โดยปกติแล้ว คอมไพล์จะถูกติดตั้งไว้แล้วและรวมอยู่ในลีนุกซ์รุ่นต่างๆ เนื่องจากเป็นเครื่องมือที่เดิมเขียนขึ้นเพื่อพัฒนาเคอร์เนลลินุกซ์ แต่มีบางสถานการณ์เมื่อไม่อยู่ที่นั่น หากต้องการตรวจสอบสิ่งนี้ คุณจะต้องเปิดเทอร์มินัลแล้วพิมพ์: git --version หากมีคำตอบที่ชัดเจนก็ไม่ต้องติดตั้งอะไรเลย เปิดเทอร์มินัลแล้วติดตั้ง ฉันทำงานบน Ubuntu ดังนั้นฉันจึงสามารถบอกคุณได้ว่าจะเขียนอะไร: sudo apt-get install git เพียงเท่านี้ ตอนนี้คุณสามารถใช้ Git ในเทอร์มินัลใดก็ได้การติดตั้งบน macOS
ที่นี่เช่นกัน ก่อนอื่นคุณต้องตรวจสอบว่ามี Git อยู่แล้วหรือไม่ (ดูด้านบน เช่นเดียวกับบน Linux) ถ้าไม่เช่นนั้น วิธีที่ง่ายที่สุดคือดาวน์โหลดเวอร์ชันล่าสุด หากติดตั้ง XCode แล้ว Git จะถูกติดตั้งโดยอัตโนมัติอย่างแน่นอนการตั้งค่าคอมไพล์
คอมไพล์มีการตั้งค่าผู้ใช้ที่จะดำเนินการงาน นี่เป็นสิ่งที่สมเหตุสมผลและจำเป็น เพราะเมื่อมีการสร้างการคอมมิต Git จะนำข้อมูลนี้ไปใช้กับฟิลด์ Author อย่างแน่นอน หากต้องการตั้งชื่อผู้ใช้และรหัสผ่านสำหรับทุกโครงการ คุณต้องป้อนคำสั่งต่อไปนี้:
git config --global user.name ”Ivan Ivanov”
git config --global user.email ivan.ivanov@gmail.com
หากจำเป็นต้องเปลี่ยนผู้เขียนสำหรับโปรเจ็กต์เฉพาะ (เช่น สำหรับโปรเจ็กต์ส่วนตัว) คุณสามารถลบ --global ได้ และสิ่งนี้จะได้ผล:
git config user.name ”Ivan Ivanov”
git config user.email ivan.ivanov@gmail.com
ทฤษฎีเล็กๆ น้อยๆ...
เพื่อให้อยู่ในหัวข้อ ขอแนะนำให้เพิ่มคำและการกระทำใหม่ ๆ ลงในข้อความของคุณ... ไม่เช่นนั้นจะไม่มีอะไรจะพูดถึง แน่นอนว่านี่เป็นศัพท์เฉพาะและสำเนาของภาษาอังกฤษ ดังนั้นฉันจะเพิ่มความหมายเป็นภาษาอังกฤษ คำพูดและการกระทำอะไร?- พื้นที่เก็บข้อมูลคอมไพล์;
- กระทำ (กระทำ);
- สาขา;
- ผสาน;
- ความขัดแย้ง;
- ดึง;
- ดัน;
- วิธีละเว้นไฟล์บางไฟล์ (.gitignore)
รัฐใน Git
Gita มีหลายรัฐที่ต้องเข้าใจและจดจำ:- ไม่ได้ติดตาม;
- แก้ไข;
- เตรียมพร้อม (จัดฉาก);
- มุ่งมั่น.
มันหมายความว่าอะไร?
นี่คือสถานะที่มีไฟล์จากโค้ดของเราอยู่ นั่นคือเส้นทางชีวิตของพวกเขามักจะมีลักษณะดังนี้:- ไฟล์ที่สร้างขึ้นและไม่ได้เพิ่มไปยังที่เก็บจะอยู่ในสถานะไม่ถูกติดตาม
- เราทำการเปลี่ยนแปลงกับไฟล์ที่ถูกเพิ่มไปยังที่เก็บ Git แล้ว - ไฟล์เหล่านั้นอยู่ในสถานะแก้ไข
- จากไฟล์ที่เราเปลี่ยนแปลง เราเลือกเฉพาะไฟล์ (หรือทั้งหมด) ที่เราต้องการ (เช่น เราไม่ต้องการคลาสที่คอมไพล์แล้ว) และคลาสที่มีการเปลี่ยนแปลงเหล่านี้จะอยู่ในสถานะเป็นฉาก
- คอมมิตถูกสร้างขึ้นจากไฟล์ที่เตรียมไว้จากสถานะที่เป็นฉากและเข้าไปในที่เก็บ Git หลังจากนี้ สถานะเป็นฉากจะว่างเปล่า แต่การแก้ไขอาจจะยังมีอะไรบางอย่างอยู่
![เริ่มต้นใช้งาน Git: คำแนะนำโดยละเอียดสำหรับผู้เริ่มต้น - 4](https://cdn.javarush.com/images/article/6136c12e-46b4-4fda-820c-3287237c48ab/800.jpeg)
การกระทำคืออะไร
คอมมิตเป็นวัตถุหลักในการควบคุมเวอร์ชัน มันมีการเปลี่ยนแปลงทั้งหมดตั้งแต่การกระทำนั้น คอมมิตจะเชื่อมโยงถึงกันเหมือนรายการลิงก์เดี่ยว กล่าวคือ: มีการกระทำครั้งแรก เมื่อมีการสร้างการคอมมิตครั้งที่สอง (อันที่สอง) จะรู้ว่ามันมาหลังจากคอมมิตแรก และด้วยวิธีนี้คุณสามารถติดตามข้อมูลได้ คอมมิตยังมีข้อมูลของตัวเอง ซึ่งเรียกว่าข้อมูลเมตา:- ตัวระบุการคอมมิตเฉพาะที่คุณสามารถค้นหาได้
- ชื่อของผู้เขียนคอมมิตที่สร้างมันขึ้นมา
- วันที่สร้างคอมมิต;
- ความคิดเห็นที่อธิบายสิ่งที่ทำในระหว่างการคอมมิตนี้
![เริ่มต้นใช้งาน Git: คำแนะนำโดยละเอียดสำหรับผู้เริ่มต้น - 5](https://cdn.javarush.com/images/article/f0a1025b-2f0c-4e65-b9bc-641db79a7704/512.jpeg)
สาขาอะไร
![เริ่มต้นใช้งาน Git: คำแนะนำโดยละเอียดสำหรับผู้เริ่มต้น - 6](https://cdn.javarush.com/images/article/29945159-3a11-47a9-ae00-c762a4f5d6fb/512.jpeg)
เริ่มต้นใช้งาน Git
คุณสามารถทำงานกับพื้นที่เก็บข้อมูลในเครื่องหรือพื้นที่เก็บข้อมูลระยะไกลเท่านั้น ในการทำงานกับคำสั่งที่จำเป็น คุณสามารถใช้ได้เฉพาะพื้นที่เก็บข้อมูลในเครื่องเท่านั้น โดยจะเก็บข้อมูลทั้งหมดไว้ภายในโปรเจ็กต์ในโฟลเดอร์ .git เท่านั้น หากเราพูดถึงระยะไกล ข้อมูลทั้งหมดจะถูกเก็บไว้ที่ใดที่หนึ่งบนเซิร์ฟเวอร์ระยะไกล: มีเพียงสำเนาของโครงการเท่านั้นที่จัดเก็บไว้ในเครื่อง การเปลี่ยนแปลงที่สามารถพุช (git push) ไปยังที่เก็บระยะไกลได้ เราจะหารือเกี่ยวกับการทำงานกับคอมไพล์ในคอนโซลที่นี่และต่อไป แน่นอน คุณสามารถใช้โซลูชันกราฟิกบางอย่างได้ (เช่น ใน Intellij IDEA) แต่ก่อนอื่นคุณต้องทราบก่อนว่าคำสั่งใดกำลังเกิดขึ้นและหมายความว่าอย่างไรการทำงานกับ Git ในพื้นที่เก็บข้อมูลในเครื่อง
ต่อไป ฉันขอแนะนำให้คุณทำตามขั้นตอนทั้งหมดที่ฉันทำในขณะที่คุณอ่านบทความ สิ่งนี้จะช่วยเพิ่มความเข้าใจและการเก็บรักษาเนื้อหาของคุณ ขอให้อร่อยนะ :) หากต้องการสร้างพื้นที่เก็บข้อมูลในเครื่อง คุณต้องเขียน:
git init
![Начало работы с Git: подробный гайд для новичков - 7](https://cdn.javarush.com/images/article/5dbf6234-0ea6-40a8-9d37-ce14609d53b4/800.jpeg)
git status
![Начало работы с Git: подробный гайд для новичков - 8](https://cdn.javarush.com/images/article/348071fa-ccab-4a0c-ae94-6f9f0e6fa671/800.jpeg)
- git add -A - เพิ่มไฟล์ทั้งหมดจากสถานะเป็นฉาก
- คอมไพล์เพิ่ม — เพิ่มไฟล์ทั้งหมดจากโฟลเดอร์นี้และไฟล์ภายในทั้งหมด โดยพื้นฐานแล้วเหมือนกับอันก่อนหน้า
- git add <filename> - เพิ่มเฉพาะไฟล์ที่ระบุ ที่นี่คุณสามารถใช้นิพจน์ทั่วไปเพื่อเพิ่มตามรูปแบบบางอย่างได้ ตัวอย่างเช่น git add *.java: หมายความว่าคุณจะต้องเพิ่มไฟล์ที่มีนามสกุล java เท่านั้น
git add *.txt
ในการตรวจสอบสถานะเราใช้คำสั่งที่เรารู้อยู่แล้ว:
git status
![Начало работы с Git: подробный гайд для новичков - 9](https://cdn.javarush.com/images/article/948c12dc-8227-48d0-8bd3-2ac9ed8be271/800.jpeg)
git commit -m “all txt files were added to the project”
![Начало работы с Git: подробный гайд для новичков - 10](https://cdn.javarush.com/images/article/5159fcca-3b1c-4308-b1e4-854c1d480385/800.jpeg)
git log
![Начало работы с Git: подробный гайд для новичков - 11](https://cdn.javarush.com/images/article/b869b551-e804-4ac1-b199-6f16684be943/800.jpeg)
git status
![Начало работы с Git: подробный гайд для новичков - 12](https://cdn.javarush.com/images/article/00e768e8-6568-42d8-9d03-437c71028b50/800.jpeg)
git status
![Начало работы с Git: подробный гайд для новичков - 13](https://cdn.javarush.com/images/article/3abb8e35-ebfd-4480-b26e-fc8f19322b36/800.jpeg)
git diff
![Начало работы с Git: подробный гайд для новичков - 14](https://cdn.javarush.com/images/article/1f3506ae-1746-4ee9-b346-c992be73bb63/800.jpeg)
git add test_resource.txt
git commit -m “added hello word! to test_resource.txt”
หากต้องการดูการคอมมิตทั้งหมด ให้เขียน:
git log
![Начало работы с Git: подробный гайд для новичков - 15](https://cdn.javarush.com/images/article/12d64adf-c2ae-4d62-ab36-df174fdab5b8/800.jpeg)
git add GitTest.java
git commit -m “added GitTest.java”
git status
![Начало работы с Git: подробный гайд для новичков - 16](https://cdn.javarush.com/images/article/e5e89bbd-baa2-43cc-bace-cbb24e030c7a/800.jpeg)
การทำงานกับ .gitignore
เห็นได้ชัดว่าเราต้องการเก็บซอร์สโค้ดเท่านั้นและไม่มีอะไรอื่นในที่เก็บ มันจะเป็นอะไรอีกล่ะ? อย่างน้อยที่สุด คลาสที่คอมไพล์และ/หรือไฟล์ที่สร้างสภาพแวดล้อมการพัฒนา เพื่อให้ Git เพิกเฉยต่อไฟล์เหล่านี้ จะต้องสร้างไฟล์พิเศษขึ้นมา เราทำสิ่งนี้: เราสร้างไฟล์ในรูทของโปรเจ็กต์ชื่อ .gitignore และในไฟล์นี้ แต่ละบรรทัดจะเป็นรูปแบบที่จะละเว้น ในตัวอย่างนี้ git ละเว้นจะมีลักษณะดังนี้:
```
*.class
target/
*.iml
.idea/
```
ลองดูตอนนี้:
- บรรทัดแรกคือการละเว้นไฟล์ทั้งหมดที่มีนามสกุล .class
- บรรทัดที่สองคือการละเว้นโฟลเดอร์เป้าหมายและทุกอย่างที่มีอยู่
- บรรทัดที่สามคือการละเว้นไฟล์ทั้งหมดที่มีนามสกุล .iml
- บรรทัดที่สี่คือการละเว้นโฟลเดอร์ .idea
git status
![Начало работы с Git: подробный гайд для новичков - 17](https://cdn.javarush.com/images/article/78f2e2ef-72df-41ed-9f16-6aeb16be9c92/800.jpeg)
![Начало работы с Git: подробный гайд для новичков - 18](https://cdn.javarush.com/images/article/cb845a33-8843-4ee9-8842-545e11a8436b/1024.jpeg)
git add .gitignore
git commit -m “added .gitignore file”
และตอนนี้ช่วงเวลาแห่งความจริง: เรามีคลาส GitTest.class ที่คอมไพล์แล้วในสถานะที่ไม่ถูกติดตาม ซึ่งเราไม่ต้องการเพิ่มลงในที่เก็บ Git นี่คือจุดที่ git ละเว้นควรทำงาน:
git status
![Начало работы с Git: подробный гайд для новичков - 19](https://cdn.javarush.com/images/article/d094337b-01dc-43a6-8326-c0ba309d0df7/800.jpeg)
ทำงานกับสาขาและอื่น ๆ
แน่นอนว่าการทำงานในสาขาเดียวนั้นไม่สะดวกสำหรับคนเดียวและเป็นไปไม่ได้เมื่อมีคนในทีมมากกว่าหนึ่งคน มีสาขาสำหรับสิ่งนี้ ดังที่ผมได้กล่าวไปแล้วว่า Branch เป็นเพียงตัวชี้เคลื่อนที่ในการดำเนินการ ในส่วนนี้ เราจะมาดูการทำงานในสาขาต่างๆ วิธีผสานการเปลี่ยนแปลงจากสาขาหนึ่งไปยังอีกสาขาหนึ่ง ข้อขัดแย้งที่อาจเกิดขึ้น และอื่นๆ อีกมากมาย หากต้องการดูรายการสาขาทั้งหมดใน Repository และทำความเข้าใจว่าคุณอยู่ในสาขาใด คุณต้องเขียน:
git branch -a
![Начало работы с Git: подробный гайд для новичков - 20](https://cdn.javarush.com/images/article/3a5ccec8-3fe1-4b6c-b19f-2e66280f4fc6/800.jpeg)
- สร้างสาขาใหม่ตามสาขาที่เราอยู่ (99% ของกรณี)
- สร้างสาขาตามการคอมมิตเฉพาะ (1%)
สร้างสาขาตามการคอมมิตเฉพาะ
เราจะอาศัยตัวระบุการคอมมิตที่ไม่ซ้ำใคร หากต้องการค้นหาเราเขียนว่า:
git log
![Начало работы с Git: подробный гайд для новичков - 21](https://cdn.javarush.com/images/article/6f312f65-a820-4faf-a218-686182020e32/800.jpeg)
git checkout -b development 6c44e53d06228f888f2f454d3cb8c1c976dd73f8
สาขาถูกสร้างขึ้นโดยมีเพียงสองคอมมิตแรกจากสาขาหลัก เพื่อทดสอบสิ่งนี้ ก่อนอื่นเราต้องแน่ใจว่าเราได้ย้ายไปยังสาขาอื่นแล้วดูจำนวนการคอมมิตในสาขานั้น:
git status
git log
![Начало работы с Git: подробный гайд для новичков - 22](https://cdn.javarush.com/images/article/32e2010a-16e6-4342-a082-c5181a876dfd/800.jpeg)
git branch -a
![Начало работы с Git: подробный гайд для новичков - 23](https://cdn.javarush.com/images/article/b0fa2136-26d5-4c09-867a-9faebdc3be8e/800.jpeg)
สร้างสาขาตามสาขาปัจจุบัน
วิธีที่สองในการสร้างสาขาคือการสร้างสาขาอื่น ฉันต้องการสร้างสาขาตามสาขาหลัก ดังนั้นฉันต้องเปลี่ยนไปใช้สาขานั้นก่อน และขั้นตอนต่อไปคือการสร้างสาขาใหม่ มาดูกัน:- git checkout master - ย้ายไปที่สาขาหลัก
- สถานะ git - ตรวจสอบว่าอยู่บนต้นแบบหรือไม่
![Начало работы с Git: подробный гайд для новичков - 24](https://cdn.javarush.com/images/article/fc59d1e4-d887-4b07-add7-0a1ed53ede8b/800.jpeg)
git checkout -b feature/update-txt-files
![Начало работы с Git: подробный гайд для новичков - 25](https://cdn.javarush.com/images/article/19d396fc-af1c-4d3f-8deb-2dbba09dfaf2/800.jpeg)
แก้ไขข้อขัดแย้ง
ก่อนที่เราจะเข้าใจว่าความขัดแย้งคืออะไร เราต้องพูดถึงการรวม (รวม) สาขาหนึ่งเข้ากับอีกสาขาหนึ่งก่อน รูปภาพนี้สามารถแสดงกระบวนการเมื่อสาขาหนึ่งถูกรวมเข้าเป็นอีกสาขาหนึ่ง![Начало работы с Git: подробный гайд для новичков - 26](https://cdn.javarush.com/images/article/5be87984-024c-43ab-be88-a3cdf3331692/512.jpeg)
![Начало работы с Git: подробный гайд для новичков - 27](https://cdn.javarush.com/images/article/47a002ed-bea0-4be5-b60c-f9c822c5c834/800.jpeg)
git add *.txt
git commit -m “updated txt files”
git log
![Начало работы с Git: подробный гайд для новичков - 28](https://cdn.javarush.com/images/article/99af1950-f2b6-4792-8fe7-4ad7442dd8fc/800.jpeg)
git checkout master
git merge feature/update-txt-files
git log
![Начало работы с Git: подробный гайд для новичков - 29](https://cdn.javarush.com/images/article/96f5d6f1-3d22-4597-b85b-b8af900b2e35/800.jpeg)
git branch -D feature/update-txt-files
จนถึงตอนนี้ก็ชัดเจนแล้วใช่ไหม? มาทำให้สถานการณ์ซับซ้อนขึ้น: ตอนนี้สมมติว่าเราต้องเปลี่ยนไฟล์ txt อีกครั้ง แต่ตอนนี้ไฟล์นี้จะถูกเปลี่ยนในตัวช่วยสร้างด้วย นั่นคือมันจะเปลี่ยนแปลงไปพร้อมๆ กัน และ Git จะไม่สามารถเข้าใจได้ว่าต้องทำอะไรในสถานการณ์เมื่อเราต้องการรวมโค้ดใหม่เข้ากับสาขาหลัก ไป! เราสร้างสาขาใหม่ตามต้นแบบ ทำการเปลี่ยนแปลง text_resource.txt และสร้างการคอมมิตสำหรับเรื่องนี้:
git checkout -b feature/add-header
... делаем изменения в файле
![Начало работы с Git: подробный гайд для новичков - 30](https://cdn.javarush.com/images/article/0a9176d6-8054-4655-b90a-315e215aa56f/800.jpeg)
git add *.txt
git commit -m “added header to txt”
![Начало работы с Git: подробный гайд для новичков - 31](https://cdn.javarush.com/images/article/2635b663-7fd8-4d22-947b-df8c50777840/800.jpeg)
git checkout master
… обновor test_resource.txt
![Начало работы с Git: подробный гайд для новичков - 32](https://cdn.javarush.com/images/article/ac84fa61-0381-48e0-bf5c-1dcf633b779f/800.jpeg)
git add test_resource.txt
git commit -m “added master header to txt”
และตอนนี้เป็นช่วงเวลาที่น่าสนใจที่สุด: คุณต้องผสานการเปลี่ยนแปลงจากสาขาคุณลักษณะ/ส่วนเสริมไปยังต้นแบบ เราอยู่ในสาขาหลัก ดังนั้นสิ่งที่เราต้องทำคือเขียนว่า:
git merge feature/add-header
แต่เราจะได้ผลลัพธ์ที่มีข้อขัดแย้งในไฟล์ test_resource.txt: ![Начало работы с Git: подробный гайд для новичков - 33](https://cdn.javarush.com/images/article/233f6738-b599-4f22-8552-2d39813d6dd8/800.jpeg)
![Начало работы с Git: подробный гайд для новичков - 34](https://cdn.javarush.com/images/article/efa04c3b-e279-4f6f-8f05-c3d2318d8ff2/800.jpeg)
- ระหว่าง “<<<<<<< HEAD” และ “=======” เป็นการเปลี่ยนแปลงหลักที่อยู่ในบรรทัดนี้ในสาขาหลัก
- ระหว่าง “=======” และ “>>>>>>> คุณลักษณะ/เพิ่มส่วนหัว” มีการเปลี่ยนแปลงที่อยู่ในสาขาคุณลักษณะ/เพิ่มส่วนหัว
![Начало работы с Git: подробный гайд для новичков - 35](https://cdn.javarush.com/images/article/c167e2b2-1cb1-4d19-862e-80ee06a7b6b4/800.jpeg)
git status
![Начало работы с Git: подробный гайд для новичков - 36](https://cdn.javarush.com/images/article/4416b14b-0e87-4877-b098-702624219f04/800.jpeg)
git add *.txt
![Начало работы с Git: подробный гайд для новичков - 37](https://cdn.javarush.com/images/article/99a41e85-fb52-429a-86c3-65ad32dd54aa/800.jpeg)
git commit
![Начало работы с Git: подробный гайд для новичков - 38](https://cdn.javarush.com/images/article/c07c9f20-993a-42ed-91d6-91fbf8f37646/800.jpeg)
การทำงานกับที่เก็บข้อมูลระยะไกล
ขั้นตอนสุดท้ายคือการทำความเข้าใจคำสั่งเพิ่มเติมสองสามคำสั่งที่จำเป็นในการทำงานกับพื้นที่เก็บข้อมูลระยะไกล ดังที่ฉันได้กล่าวไปแล้ว พื้นที่เก็บข้อมูลระยะไกลเป็นสถานที่จัดเก็บพื้นที่เก็บข้อมูลและจากที่ที่คุณสามารถโคลนได้ ที่เก็บข้อมูลระยะไกลประเภทใดบ้าง? มีตัวอย่างมากมาย:-
GitHubเป็นพื้นที่เก็บข้อมูลที่ใหญ่ที่สุดสำหรับพื้นที่เก็บข้อมูลและการพัฒนาร่วมกัน ฉันได้อธิบายไปแล้วในบทความก่อนหน้านี้
สมัครสมาชิกบัญชี Github ของฉัน ฉันมักจะแสดงผลงานของฉันในพื้นที่ที่ฉันเรียนระหว่างทำงาน -
GitLab เป็น เครื่องมือวงจรชีวิตDevOpsบน เว็บแบบ โอเพ่นซอร์ส ที่ให้ ระบบจัดการที่เก็บ โค้ด สำหรับGitพร้อมด้วยวิกิระบบติดตามปัญหา ไปป์ไลน์ CI/CD และคุณสมบัติอื่นๆ ของ ตัวเอง
หลังจากข่าวที่ Microsoft ซื้อ GitHub นักพัฒนาบางคนก็ทำซ้ำงานของพวกเขาใน GitLab -
BitBucket เป็นบริการเว็บสำหรับการโฮสต์โปรเจ็กต์และการพัฒนาร่วมกัน โดยใช้ระบบควบคุมเวอร์ชัน Mercurial และ Git ครั้งหนึ่งมีข้อได้เปรียบเหนือ GitHub มากตรงที่มีพื้นที่เก็บข้อมูลส่วนตัวฟรี เมื่อปีที่แล้ว GitHub ยังเปิดให้ทุกคนใช้ฟีเจอร์นี้ได้ฟรี
-
และอื่นๆ...
git clone https://github.com/romankh3/git-demo
ขณะนี้มีสำเนาโครงการฉบับสมบูรณ์ในเครื่องแล้ว เพื่อให้แน่ใจว่าสำเนาล่าสุดของโครงการอยู่ในเครื่อง คุณจะต้องทิ้งข้อมูลตามที่พวกเขาพูดโดยเขียน:
git pull
![Начало работы с Git: подробный гайд для новичков - 39](https://cdn.javarush.com/images/article/782b84b1-e001-4849-be0b-c319133afca0/800.jpeg)
![Начало работы с Git: подробный гайд для новичков - 40](https://cdn.javarush.com/images/article/5598fa4d-3058-4994-b17d-63c6b5710076/800.jpeg)
git add test_resource.txt
git commit -m “prepated txt for pushing”
และตอนนี้คำสั่งให้พุชสิ่งนี้ไปยังที่เก็บระยะไกล:
git push
![Начало работы с Git: подробный гайд для новичков - 41](https://cdn.javarush.com/images/article/46c49cfa-afb0-4b3a-b95f-7506a199a189/800.jpeg)
ลิงค์ที่เป็นประโยชน์
- เอกสาร อย่างเป็นทางการ เกี่ยวกับ Git เป็นภาษารัสเซีย ผมขอแนะนำเป็นแนวทางครับ
- คอมไพล์
GO TO FULL VERSION