SlideShare a Scribd company logo
Seminar team iOS
Giới thiệu Git
và một số tính năng cơ bản
Người thực hiện:
Nguyễn Đức Hà
Sơ lược về quản lý phiên bản và Git
• Khái niệm Git: là một hệ thống quản lý phiên
bản phân tán.
• Cách lưu trữ dữ liệu:
Sơ lược về quản lý phiên bản và Git
• Cách tổ chức dữ liệu:
Làm việc với Git
• Khởi tạo
– Khởi tạo từ thư mục trống:
Git init
– Khởi tạo từ repository có sẵn:
Git clone [url] [folder name]
Làm việc với Git
• Lưu trữ: vòng đời của tập tin trong Git
Làm việc với Git
• Phục hồi dữ liệu:
Lệnh Đối tượng tác động Ý nghĩa
Git reset Commit - level Xóa các commit ở
nhánh riêng tư hoặc
phục hồi thay đổi chưa
commit
Git reset File - level Loại bỏ tập tin khỏi
khu vực staging area
Git checkout Commit - level Chuyển nhánh
Git checkout File - level Phục hồi thay đổi của
tập tin trong working
directory
Git revert Commit - level Phục hồi commit ở
nhánh công khai
Làm việc với Git
• Gitignore: là một tập tin có tên .gitignore
• Liệt kê tên các tập tin hoặc các mẫu tên tập tin
mà Git sẽ bỏ qua.
• Sử dụng regular expression để tìm các tập tin
theo mẫu tên.
Nhánh trong Git
• Khái niệm nhánh: nhánh là một con trỏ có khả
năng di chuyển được, trỏ đến một trong
những commit của repository.
• Nhánh mặc định có tên là master
• Người dùng có thể thêm nhánh mới, con trỏ
mới sẽ được tạo ra, trỏ vào commit hiện tại.
Nhánh trong Git
• Nhánh mặc định
Nhánh trong Git
• Thêm nhánh mới:
Nhánh trong Git
Quản lý nhánh
• Tạo nhánh mới:
Git branch [branch name]
• Chuyển sang nhánh đã có
Git checkout [branch name]
• Xóa nhánh:
Git branch -d [branch name]
• Tạo nhánh mới đồng thời chuyển nhánh:
Git checkout –b [branch name]
Nhánh trong Git
• Lưu trữ tạm thời trong Git:
Git stash
• Khôi phục dữ liệu được lưu tạm thời
Git stash apply
Hoặc:
Git stash pop
Nhánh trong Git
Tích hợp
• Merge:
Git checkout [destination branch]
Git merge [source branch]
Hoặc:
Git merge [destination branch] [source
branch]
Nhánh trong Git
Tích hợp
• Cơ chế của merge
Lịch sử nhánh trước khi tích hợp
Nhánh trong Git
Tích hợp
• Cơ chế merge
Quá trình tích hợp
Nhánh trong Git
Tích hợp
• Kết quả merge:
Nhánh trong Git
Tích hợp
• Rebase:
Git checkout [source branch]
Git rebase [destination branch]
Nhánh trong Git
Tích hợp
• Cơ chế rebase
Submodules
• Submodules được sử dụng khi cần sử dụng
một dự án khác trong dự án đang làm việc.
• Thêm 1 submodule:
• Git submodule add [url]
Submodules
• Sao chép một dự án đã có Submodules:
– Sao chép dự án sử dụng lệnh git clone
– Truy cập vào thư mục submodule của dự án.
– Khởi tạo tập tin cấu hình submodule sử dụng lệnh
“git submodule init”
– Lấy toàn bộ dữ liệu của submodule về sử dụng
lệnh “git submodule update”
Tổng kết
Các ích lợi khi sử dụng Git:
- Vẫn có thể làm việc, commit khi không kết nối
internet.
- Thời gian trễ thấp do hầu hết dữ liệu đều
được sao chép ở máy cục bộ.
- Làm việc với nhánh dễ dàng hơn.
Cảm ơn đã lắng nghe

More Related Content

What's hot

Learning git
Learning gitLearning git
Learning git
Sid Anand
 
Git flow
Git flowGit flow
Git flow
Valerio Como
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
Nicolás Tourné
 
Git & GitHub WorkShop
Git & GitHub WorkShopGit & GitHub WorkShop
Git & GitHub WorkShop
SheilaJimenezMorejon
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
Roland Emmanuel Salunga
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de git
Julien Blin
 
Git flow Introduction
Git flow IntroductionGit flow Introduction
Git flow Introduction
David Paluy
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflows
Arthur Shvetsov
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
E Carter
 
Versioning avec Git
Versioning avec GitVersioning avec Git
Versioning avec Git
Jean-Baptiste Vigneron
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
Senthilkumar Gopal
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git Tutorial
Sage Sharp
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
Krunal Doshi
 
Basic Git Intro
Basic Git IntroBasic Git Intro
Basic Git Intro
Yoad Snapir
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
Venkat Malladi
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
Anurag Upadhaya
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
Arulmurugan Rajaraman
 
GIT | Distributed Version Control System
GIT | Distributed Version Control SystemGIT | Distributed Version Control System
GIT | Distributed Version Control System
Mohammad Imam Hossain
 
Git n git hub
Git n git hubGit n git hub
Git n git hub
Jiwon Baek
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching model
Pavlo Hodysh
 

What's hot (20)

Learning git
Learning gitLearning git
Learning git
 
Git flow
Git flowGit flow
Git flow
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
 
Git & GitHub WorkShop
Git & GitHub WorkShopGit & GitHub WorkShop
Git & GitHub WorkShop
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de git
 
Git flow Introduction
Git flow IntroductionGit flow Introduction
Git flow Introduction
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflows
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
 
Versioning avec Git
Versioning avec GitVersioning avec Git
Versioning avec Git
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git Tutorial
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
 
Basic Git Intro
Basic Git IntroBasic Git Intro
Basic Git Intro
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Git 101 for Beginners
Git 101 for Beginners Git 101 for Beginners
Git 101 for Beginners
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
GIT | Distributed Version Control System
GIT | Distributed Version Control SystemGIT | Distributed Version Control System
GIT | Distributed Version Control System
 
Git n git hub
Git n git hubGit n git hub
Git n git hub
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching model
 

Giới thiệu Git và một số tính năng cơ bản

  • 1. Seminar team iOS Giới thiệu Git và một số tính năng cơ bản Người thực hiện: Nguyễn Đức Hà
  • 2. Sơ lược về quản lý phiên bản và Git • Khái niệm Git: là một hệ thống quản lý phiên bản phân tán. • Cách lưu trữ dữ liệu:
  • 3. Sơ lược về quản lý phiên bản và Git • Cách tổ chức dữ liệu:
  • 4. Làm việc với Git • Khởi tạo – Khởi tạo từ thư mục trống: Git init – Khởi tạo từ repository có sẵn: Git clone [url] [folder name]
  • 5. Làm việc với Git • Lưu trữ: vòng đời của tập tin trong Git
  • 6. Làm việc với Git • Phục hồi dữ liệu: Lệnh Đối tượng tác động Ý nghĩa Git reset Commit - level Xóa các commit ở nhánh riêng tư hoặc phục hồi thay đổi chưa commit Git reset File - level Loại bỏ tập tin khỏi khu vực staging area Git checkout Commit - level Chuyển nhánh Git checkout File - level Phục hồi thay đổi của tập tin trong working directory Git revert Commit - level Phục hồi commit ở nhánh công khai
  • 7. Làm việc với Git • Gitignore: là một tập tin có tên .gitignore • Liệt kê tên các tập tin hoặc các mẫu tên tập tin mà Git sẽ bỏ qua. • Sử dụng regular expression để tìm các tập tin theo mẫu tên.
  • 8. Nhánh trong Git • Khái niệm nhánh: nhánh là một con trỏ có khả năng di chuyển được, trỏ đến một trong những commit của repository. • Nhánh mặc định có tên là master • Người dùng có thể thêm nhánh mới, con trỏ mới sẽ được tạo ra, trỏ vào commit hiện tại.
  • 9. Nhánh trong Git • Nhánh mặc định
  • 10. Nhánh trong Git • Thêm nhánh mới:
  • 11. Nhánh trong Git Quản lý nhánh • Tạo nhánh mới: Git branch [branch name] • Chuyển sang nhánh đã có Git checkout [branch name] • Xóa nhánh: Git branch -d [branch name] • Tạo nhánh mới đồng thời chuyển nhánh: Git checkout –b [branch name]
  • 12. Nhánh trong Git • Lưu trữ tạm thời trong Git: Git stash • Khôi phục dữ liệu được lưu tạm thời Git stash apply Hoặc: Git stash pop
  • 13. Nhánh trong Git Tích hợp • Merge: Git checkout [destination branch] Git merge [source branch] Hoặc: Git merge [destination branch] [source branch]
  • 14. Nhánh trong Git Tích hợp • Cơ chế của merge Lịch sử nhánh trước khi tích hợp
  • 15. Nhánh trong Git Tích hợp • Cơ chế merge Quá trình tích hợp
  • 16. Nhánh trong Git Tích hợp • Kết quả merge:
  • 17. Nhánh trong Git Tích hợp • Rebase: Git checkout [source branch] Git rebase [destination branch]
  • 18. Nhánh trong Git Tích hợp • Cơ chế rebase
  • 19.
  • 20. Submodules • Submodules được sử dụng khi cần sử dụng một dự án khác trong dự án đang làm việc. • Thêm 1 submodule: • Git submodule add [url]
  • 21. Submodules • Sao chép một dự án đã có Submodules: – Sao chép dự án sử dụng lệnh git clone – Truy cập vào thư mục submodule của dự án. – Khởi tạo tập tin cấu hình submodule sử dụng lệnh “git submodule init” – Lấy toàn bộ dữ liệu của submodule về sử dụng lệnh “git submodule update”
  • 22. Tổng kết Các ích lợi khi sử dụng Git: - Vẫn có thể làm việc, commit khi không kết nối internet. - Thời gian trễ thấp do hầu hết dữ liệu đều được sao chép ở máy cục bộ. - Làm việc với nhánh dễ dàng hơn.
  • 23. Cảm ơn đã lắng nghe