Share skill develop website

Monday, June 23, 2014

Git tutorial

10:16 AM Posted by Unknown No comments

Một số lệnh Git hữu dụng

1. Tìm kiếm

$ git grep "từ cần tìm"
Git sẽ tìm trong mọi tập tin có trong kho, rõ ràng là mạnh mẽ hơn lệnh grep. Bạn còn có thể chỉ định thư mục hay tập tin cần tìm. Đây có lẽ là một trong những lệnh hữu ích nhất ngoài các lệnh cơ bản như diff. Tôi sẽ giới thiệu lệnh này sau.

2. Lấy một tập tin từ một nhánh khác

Dùng tùy chọn -- để không tác động đến bảng mục lục.
$ git checkout tên-nhánh -- tên/tập/tin

3. Xem nhật ký kèm theo thống kê để bạn có thể biết tập tin nào đã thay đổi

$ git log --stat # hay
$ git log --full-diff

4. Xem nhật ký cho từng tập tin riêng lẻ

$ git log -- tên/tập/tin

5. Xem nhật ký nhưng chỉ hiển thị dạng tóm lược, mỗi lần commit một dòng.

$ git log --oneline -n 45 # xem 45 lần commit

6. Hiển thị thống kê dạng tóm lược theo tác giả

$ git sortlog  -n5 # không có dấu cách giữa -v và 5
$ git sortlog  HEAD...e2dca # 3 dấu chấm

7. Sửa lịch sử trên máy chủ

Sau khi sửa lịch sử trên máy tính của mình, sau khi reset hay rebase chẳng hạn, nếu bạn push như bình thường sẽ gặp lỗi xung đột. Chỉ cần thêm tùy chọn --force, mọi chuyện sẽ được giải quyết.
$ git push --force origin tên_nhánh

8. Xóa nhánh trên máy chủ

Nếu origin là tên của máy chủ, bạn có thể chạy lệnh:
$ git remote -v # để xác nhận
thì bạn xóa nhánh bằng lệnh sau:
$ git push origin :tên_nhánh # hoặc
$ git push --delete origin tên_nhánh
Tất nhiên là nếu muốn bạn có thể xóa cả nhánh ở máy tính của mình nữa:
$ git branch -d tên_nhánh # dùng -D khi thấy -d thất bại

9. Liệt kê những lần commit theo thứ tự đảo ngược


$ git rev-list --all

10. Để xem trợ giúp bạn chạy lệnh

$ git help tên-lệnh   # hay:
$ git tên-lệnh --help # ví dụ:
$ git tutorial --help
$ git help grep
# hay đọc manpage
$ man git-tên_lệnh
Càng làm việc nhiều với Git, chúng ta sẽ càng khó có thể từ bỏ nó. Nói thế nhưng không có nghĩa là chúng ta chỉ cần học cách sử dụng Git là đủ. Bởi vì không phải tất cả các dự án đều dùng Git. Thậm chí có những dự án khá lớn như WinSCP vẫn dùng CVS. Ngoài lý do trên, còn có lý do khác là một số phần mềm quản lý mã nguồn phân tán khác cũng tốt chẳng kém Git như Bazaar, Mercurial v.v..

Git căn bản – Phần 1

Cài đặt Git

Đầu tiên, ta vào trang web chính thức của Git và download gói cài đặt phù hợp với hệ điều hành ta đang dùng. Việc cài đặt này hết sức đơn giản trong môi trường Windows và MacOS, tuy nhiên trong Linux thì hơi phức tạp một chút. Nếu cần thì bạn có thể tham khảo thêm thông tin về cài đặt trong môi trường Linux trong phần hỗ trợ của trang web.
Sau khi cài đặt xong, ta chạy chương trình bằng biểu tượng Git Bash. Một cửa sổ dòng lệnh hiện ra, ta gõ:
Nếu thấy tên và phiên bản của Git hiện ra thì ta biết rằng đã cài đặt thành công. Lệnh này cũng được dùng để kiểm tra phiên bản của Git đang sử dụng.

Cấu hình Git

Trước khi có thể sử dụng Git, ta phải cấu hình nó bằng cách cung cấp những thông tin cơ bản. Mục đích của việc này là để khi lưu lại (commit) những thay đổi trong tập tin code, Git sẽ đính kèm thông tin về người đã thực hiện việc lưu trữ này. Trong đó, Git sẽ đòi hỏi tên (username) và email. Trong cửa sổ dòng lệnh, ta gõ 2 câu lệnh sau:
Bạn thay phần tên và email sao cho phù hợp với thông tin cá nhân của mình.
Ngoài ra, ta cũng có thể thay đổi các thông tin cấu hình khác nhưng ở đây. Tên và email là 2 thông tin quan trọng nhất nên tôi chỉ thiết lập 2 thông tin này. Những thông tin cấu hình khác có thể bỏ qua cũng được.

Khởi tạo

Đầu tiên ta phải tạo một thư mục mới. Thư mục này đóng vai trò là nơi chứa dự án đang thực hiện. Ta có thể dễ dàng tạo thư mục mới trong cửa sổ dòng lệnh bằng:
Sau khi tạo thư mục mới này, ta phải chuyển vào trong thư mục đó. Để làm việc này ta dùng dòng lệnh:
Tiếp theo, để khai báo cho Git biết rằng đây chính là thư mục mà ta muốn Git quản lý những thay đổi, ta dùng câu lệnh sau:
Lúc này, ta sẽ nhận được thông báo là một thư mục tên .git đã được thêm vào thư mục dự án. Thư mục này mặc định sẽ ẩn và đây chính là nơi mà mọi thông tin về dự án sẽ được Git lưu trữ.

Theo dõi tập tin

Để kiểm tra tình trạng hiện tại của các tập tin trong thư mục, ta dùng lệnh sau:
Lệnh này sẽ liệt kê những tập tin mà ta chưa đưa vào trạng thái đang được theo dõi, những tập tin đang trong trạng thái đó, và những tập tin vừa được ta chỉnh sửa.
Trước khi tiếp tục, tôi muốn nói đôi điều về thuật ngữ. Trong tiếng Anh, Git dùng thuật ngữ Staging Area để nói đến cái mà tôi gọi là “danh sách theo dõi”. Thực ra đây là cách dịch đơn giản mà tôi sử dụng nhằm giúp bạn dễ hiểu tính năng của nó. Ngoài ra, từ Stage còn được dùng như một động từ để chỉ hành động “đưa một tập tin vào danh sách theo dõi”.
Để thêm một tập tin nào đó vào danh sách theo dõi, ta dùng lệnh sau:
Nếu trong thư mục ta có nhiều tập tin và ta muốn thêm tất cả các tập tin này vào danh sách theo dõi của Git, ta dùng lệnh sau:
Ở đây, dấu chấm nghĩa là thư mục hiện hành.

Commit

Khái niệm commit có vẻ khó hiểu với những người mới bắt đầu sử dụng Git. Thực ra, đây chỉ là thuật ngữ chỉ việc lưu lại những thay đổi trong tập tin ta đưa vào danh sách theo dõi. Ta cũng có thể hiểu đơn giản commit chính là Save.
Để commit những thay đổi trong tập tin, ta dùng lệnh sau:
Lúc này, Git sẽ tự động chạy Vim, một chương trình soạn thảo văn bản, trong cửa sổ dòng lệnh và yêu cầu nhập ghi chú về những thay đổi đã thực hiện. Ta chỉ cần ghi chú ngắn gọn vào dòng đầu tiên trong của sổ này (hoặc bất kì dòng nào không bắt đầu bằng dấu #). Sau đó ta bấm phím Escape, rồi gõ vào:
Lúc này, Vim sẽ lưu lại những thay đổi của ta và thoát.
Tuy nhiên, nếu mỗi lần ta commit mà lại phải ghi chú thế này thì quá bất tiện. Cho nên ta có thể dùng lệnh sau để vừa commit vừa ghi chú trên cùng một dòng lệnh:
Nên nhớ rằng trước khi ta commit thì ta phải dùng lệnh add để báo cho Git biết rằng đây là tập tin mà ta sẽ commit trong lần commit sắp tới. Lệnh add này là lệnh đa chức năng. Ta có thể dùng nó để thêm tập tin mới vào trong danh sách theo dõi hoặc cũng có thể dùng nó để báo cho Git biết trong lần commit tiếp theo thì sẽ commit những tập tin nào.
Tuy nhiên, nếu ta chỉnh sửa nhiều tập tin và mỗi lần như thế ta phải dùng lệnh add thủ công thì quá mệt mỏi. Do đó, Git đã cung cấp cho chúng một cách để có thể commit toàn bộ tập tin đã nằm trong danh sách theo dõi trước đây bằng lệnh:
Ngoài ra, ta cũng có thể gom flag -a với flag -m để có thể ghi chú cho commit trong cùng một dòng lệnh:
Với những kiến thức này, ta đã có thể sử dụng những tính năng cơ bản nhất của Git. Vẫn còn rất nhiều phần nữa ta cần phải khám phá để có thể khai thác các tính năng ưu việt của Git, và đó là những chủ đề mà tôi sẽ đề cập trong các bài viết tiếp theo.

Ignore

Trong thư mục dự án, không phải tập tin nào ta cũng muốn Git lưu lại những thay đổi. Có những tập tin như tập tin tạm, được tạo ra bởi IDE hoặc hệ điều hành, ta hoàn toàn không muốn lưu tâm đến. Do vậy khi commit tập tin nào đó, ta phải thủ công gọi lệnh add cho riêng từng tập tin. Điều này có thể gây phiền phức vì nếu thư mục có nhiều tập tin thì ta phải gõ lệnh add thủ công cho từng tập tin đó. Để khắc phục nhược điểm này, ta có thể khai báo cho Git biết những tập tin nào ta cần làm ngơ (ignore) để Git biết đường mà không tự ý commit khi ta commit cả thư mục. Điều này được thực hiện thông qua tập tin có tên .gitignore.
Đầu tiên, bạn hãy tạo một tập tin mới có tên .gitignore (chú ý dấu chấm trước tên tập tin) nằm trong thư mục dự án. Trong tập tin này, ta sẽ liệt kê danh sách các tập tin mà ta muốn Git làm ngơ. Bạn hãy nhớ rằng mỗi tên tập tin nằm trên một hàng, và bạn có thể dùng những ký hiệu để qui định các quy tắc đặc biệt mà bạn muốn Git lưu ý. Ví dụ bạn muốn Git bỏ qua các tập tin có đuôi .txt thì bạn hãy thêm vào trong danh sách đó dòng sau:

Vậy là từ giờ trở đi, khi bạn add toàn bộ thư mục hiện tại, Git sẽ làm ngơ với tất cả các tập tin text.

Lệnh diff

Để so sánh sự khác nhau giữa một tập tin trong thư mục hiện hành và tập tin đó trong danh sách theo dõi, ta dùng lệnh:
Git sẽ hiển thị cho ta biết những dòng nào trong tập tin đã được thêm vào bằng cách đánh dấu cộng phía trước. Còn những dòng nào bị loại bỏ thì sẽ có dấu trừ.
Trong trường hợp ta muốn so sánh giữa phiên bản đang ở trong danh sách theo dõi (stage area) và phiên bản trong lần commit cuối cùng, ta sử dụng lệnh:
Ta cũng có thể thay –stage bằng –cached để có cùng kết quả như trên.
Tương tự, ta cũng có thể xem sự khác nhau giữa phiên bản tập tin trong thư mục hiện hành và phiên bản tập tin đó trong lần commit cuối cùng:
Ở đây, HEAD là từ khóa chỉ lần commit cuối cùng.
Ta cũng có thể không cần ghi tên tập tin trong các câu lệnh trên. Nếu như vậy thì Git sẽ hiện kết quả những thay đổi trong tất cả các tập tin trong thư mục.

Lệnh log

Để xem lịch sử các lần commit đã thực hiện, ta dùng lệnh:
Git sẽ hiển thị một danh sách những commit trong quá khứ. Để hiển thị thêm thông trong mỗi commit, ta dùng:
Lần này, dưới mỗi commit, Git sẽ cho ta biết có bao nhiêu tập tin được thay đổi, bao nhiêu dòng được thêm vào và bao nhiêu dòng được loại bỏ.
Tuy nhiên, nếu danh sách commit của ta quá dài thì nó sẽ trở nên khó xem. Ta có thể dùng lệnh sau để thu gọn danh sách lại, chỉ hiển thị dòng ghi chú của ta trong từng commit:
Ta cũng có thể hiển thị các commit dưới dạng biểu đồ trong trường hợp ta có nhiều nhánh (branch, sẽ được đề cập ở phần sau):
Sau khi thực hiện lệnh trên, ta thấy ở sát mép trái có một biểu đồ dạng ASCII hiện ra chỉ rõ mối liên hệ giữa các nhánh và commit.
Git cũng cho phép ta kết hợp nhiều câu lệnh thành một, ví dụ:
Lần này, Git vừa hiển thị một dòng, vừa hiển thị biểu đồ. Để “làm đẹp” cho danh sách kết quả, ta dùng lệnh:
Trong đó, chuỗi nằm sau cờ (flag) –pretty bao gồm những ký tự định dạng giúp Git biết được sẽ hiển thị kết quả như thế nào. Ta có thể tham khảo danh sách các ký tự này trong Documentation của Git.
Ngoài ra, nếu bạn tinh ý thì sẽ nhận thấy rằng khi cài đặt Git có kèm theo cho ta một giao diện đồ họa. Để chạy giao diện đồ họa này, ta dùng lệnh:
Ta có thể xem tất cả những thông tin đã thực hiện ở giao diện dòng lệnh trong giao diện mới này. Bạn có thể vọc một tí với nó nếu thích, tuy nhiên tôi sẽ không hướng dẫn sử dụng giao diện này bởi vì trong thực tế hầu như ta chẳng bao giờ sử dụng đến nó.

Nhánh (Branch)

Nhánh giúp ta có thể thoải mái thử nghiệm các ý tưởng mới với dự án mà ta đang thực hiện. Bạn có thể hiểu đơn giản nhánh giống như một bản sao của thư mục hiện hành, ta có thể thay đổi, tùy chỉnh theo ý ta. Sau đó, nếu ta ưng ý với kết quả mà ta đã làm, ta có thể hợp nhất (merge) nó với dự án chính của ta. Còn nếu không ưng ý, ta có thể bỏ cả nhánh đó và dự án chính của ta không hề bị ảnh hưởng.
Nếu bây giờ chạy lệnh git status, ta sẽ thấy ở dòng trên cùng thông báo cho biết ta đang ở nhánh master (# On branch master). Đây là nhánh mà Git mặc định tạo cho ta.
Để xem danh sách các nhánh hiện hành, ta dùng lệnh:
Một danh sách các nhánh sẽ hiện ra. Dấu sao đánh dấu nhánh mà ta đang ở. Để tạo một nhánh mới, ta thêm tên của nhánh vào sau lệnh git branch:
Sau khi tạo nhánh mới, ta phải chuyển qua nhánh đó mới có thể sử dụng được:
Giờ đây, ta có thể làm việc trên nhánh mới mà mình vừa tạo. Lưu ý rằng những commit mà ta thực hiện ở nhánh mới này hoàn toàn không ảnh hưởng gì đến nhánh chính (gọi là master) cho đến khi ta ra lệnh hợp nhất (merge) nhánh mới này với nhánh master.
Để quay về nhánh chính, ta dùng lệnh:
Ta cũng có thể kết hợp cả 2 lệnh tạo nhánh và chuyển qua nhánh đó trong cùng một dòng:
Ngoài ra, để xem toàn bộ commit của tất cả các nhánh thay vì chỉ một nhánh như ta đã biết, ta dùng lệnh:
Để thêm tên nhánh vào trong danh sách kết quả cho dễ xem, ta thêm vào –decorate

Hợp nhất nhánh (Merge)

Sau khi ta đã hài lòng với những thử nghiệm đã thực hiện trong một nhánh nào đó, giờ là lúc để ta hợp nhất nhánh đó với nhánh master. Để làm điều này, ta dùng câu lệnh:
Sau đó, Git yêu cầu ta nhập vào ghi chú cho lần commit này. Mỗi lần ta hợp nhất nhánh thì Git thực hiện commit luôn cho ta.
Sau khi ta đã hợp nhất với nhánh master rồi thì ta nên xóa nhánh kia đi. Để xóa nhánh, ta dùng lệnh:
Trong bài tiếp theo của series Sử dụng Git, ta sẽ tìm hiểu về GitHub và các tính năng cơ bản của dịch vụ này.

Đẩy mã lên GitHub

GitHub hiểu một cách đơn giản là một kho chứa mã miễn phí trực tuyến. Ta có thể chia sẻ cả thư mục dự án cho mọi người cùng xem, tương tác, hoặc sao chép (clone) cả dự án đó về máy để sử dụng. Nếu dùng tài khoản miễn phí thì các dự án ta đăng tải sẽ được công khai cho bàn dân thiên hạ tùy ý sử dụng. Nếu muốn được riêng tư, ta phải thanh toán chi phí hàng tháng cho GitHub.
Để đăng ký, ta vào trang GitHub để đăng ký một tài khoản. Sau khi đăng ký xong, ta sẽ được đưa vào trang quản lý. Ở trang này, ta bấm nút New Repository để tạo một kho chứa mã mới. Trong trang kế tiếp, ta nhập vào tên ở ô Repository name. Có thể thêm vài dòng mô tả cho kho mã này nếu ta thấy cần thiết. Cuối cùng, ta chọn chế độ Public (chế độ Private chỉ dành cho tài khoản trả phí) và bấm nút Create Repository.
Ở trang tiếp theo, GitHub sẽ hướng dẫn ta các câu lệnh cần thiết để thiết lập và đăng tải các tập tin mã của mình lên trên kho chứa (repo, viết tắt của repository) vừa tạo. Ta lưu ý ở đây, GitHub hướng dẫn cho ta thực hiện trong 2 trường hợp:
1. Nếu chưa có thư mục dự án thì ta làm theo các bước hướng dẫn để thiết lập Git trong thư mục này. Hầu hết các bước này tôi đã hướng dẫn trong bài viết trước.
2. Nếu đã có một thư mục dự án rồi thì ta chỉ cần thực hiện “push” các tập tin vào trong repo trên GitHub.
Trong cả 2 trường hợp, câu lệnh quan trọng nhất là git remote và git push. Hiện tại, ta cứ hiểu đơn giản là git remote giúp xác định đích đến của nơi chứa kho mã của ta, còn git push ra lệnh tiến hành “đẩy” những tập tin mã trong thư mục hiện hành lên kho mà ta đã xác định ở git remote.
Sau khi thực hiện lệnh push, Git yêu cầu ta nhập vào username và password để đăng nhập GitHub. Khi đăng nhập thành công, Git sẽ tiến hành đẩy nội dung trong thư mục dự án lên kho chứa. Bây giờ, ta có thể vào trong kho trên GitHub để xem các tập tin của mình. Những thông tin về dự án cũng được hiển thị đầy đủ tại đây như tổng số commit, ghi chú của lần commit cuối cùng và ai là người commit.
Điều cuối cùng mà ta cần lưu ý đó là giao diện của trang GitHub có thể thay đổi trong tương lai, cho nên những chỉ dẫn ở trên về các thao tác trên GitHub có thể không còn chính xác. Nếu điều đó xảy ra, ta có thể dễ dàng theo dõi các bước mà GitHub hướng dẫn. Tuy nhiên, cho dù có thay đổi thì những thao tác cơ bản hầu như vẫn như cũ nên ta cũng không quá lo lắng.

Dạo quanh GitHub

GitHub là một kho chứa mã khổng lồ và ta có thể tìm thấy hầu hết các dự án nguồn mở ở đây. Chỉ cần gõ tên của một dự án nổi tiếng nào đó mà ta biết, ví dụ như jQuery, thì sẽ thấy ngay một danh sách kết quả.
Để truy cập vào kho chứa của dự án đó, ta bấm chuột vào dòng kết quả tương ứng. Lúc này, một danh sách liệt kê các tập tin trong dự án sẽ hiện ra. Ta cũng có thể xem nội dung tập tin bằng cách bấm vào nó. Phía trên, ta có thể thấy một vài thông tin về kho như số lần commit, tổng số nhánh và tổng số những người tham gia vào dự án này.
Phía bên phải là một loạt các thẻ. Hiện tại ta đang ở thẻ Code. Phía dưới ta sẽ thấy dòng HTTPS, đây chính là địa chỉ mà ta sẽ sử dụng để sao chép (clone) kho mã về máy. Dưới cùng là nút Download ZIP. Ta bấm nút này để tải về toàn bộ kho dưới dạng nén zip, phù hợp cho những ai không biết sử dụng trình quản lý mã nguồn Git (hi vọng đó không phải là bạn).
Thẻ Pull Requests là nơi mà ta có thể góp ý với chủ kho về những đề xuất thay đổi trong tập tin mã nguồn nào đó. Để sử dụng tính năng này, trước tiên ta Fork kho mã về tài khoản của ta. Sau đó, ta chỉnh sửa ở những nơi cần thay đổi trong mã. Tiếp đến ta gửi một Pull Request cho chủ kho, và họ sẽ nhận được một email thông báo. Nếu họ đồng ý những thay đổi ta đề xuất, họ có thể tích hợp những thay đổi này vào trong kho một cách chính thức.
Thẻ Pulse cung cấp cho ta thông tin tổng quát của kho chứa. Thẻ Graph sẽ hiển thị nhiều biểu đồ về hoạt động của dự án. Bạn có thể dễ dàng tự khám phá những thẻ này. Thẻ cuối cùng là Network. Thẻ này cho ta biết về thông tin các nhánh của kho dưới dạng biểu đồ. Với những dự án khủng như jQuery thì những sơ đồ như thế này có thể sẽ rất lớn, ta có thể kéo thả chuột trong sơ đồ này để xem những phần khác nhau.
Phía trên cùng ta sẽ thấy nút Fork. Tính năng này cho phép tạo một bản sao của kho và lưu nó vào trong tài khoản của ta. Sau khi bấm nút Fork, ta sẽ thấy bản sao của kho nằm trong danh sách My Repositories. Lúc này, ta có thể hiệu chỉnh tùy ý kho mã này mà không làm ảnh hưởng gì đến kho chính.
Trên đây tôi chỉ giới thiệu sơ lược những tính năng cơ bản của GitHub để bạn có thể bắt đầu sử dụng ngay lập tức. Tuy nhiên, GitHub còn rất nhiều tính năng thú vị hơn, đặc biệt là những tính năng giúp ta tương tác với những thành viên khác trong nhóm lập trình. Tôi sẽ để bạn tự khám phá những tính năng này.

Kho chứa từ xa (Remote Repository)

Như đã thấy trong bài viết trước về GitHub, đôi lúc ta phải làm việc với những kho chứa từ xa. Do đó, việc làm quen với các câu lệnh để thực hiện công việc này là rất cần thiết.
Cũng trong bài trước, ta đã biết câu lệnh mà GitHub yêu cầu sử dụng để kết nối đến kho từ xa. Câu lệnh này có dạng như sau:
Trong đó, origin là tên của kho mà ta tự chọn (Git khuyến cáo nên là origin), còn phần URL phía sau chính là đường dẫn đến kho từ xa.
Tiếp theo, ta sẽ dùng câu lệnh remote:
Câu lệnh này liệt kê tất cả các kho từ xa mà ta đã khai báo. Nếu bạn đã thực hiện câu lệnh remote add như trên thì Git sẽ hiển thị kết quả là origin. Khi ta muốn đẩy mã lên kho từ xa, ta dùng lệnh:
Trong đó, origin là tên mà ta đặt cho kho, còn master là tên nhánh mà ta muốn push. Sau khi cho chạy lệnh này, ta hãy kiên nhẫn chờ một chút để Git kết nối tới kho từ xa qua mạng.
Trong trường hợp ta muốn update kho trên máy của ta với những commit mới nhất trên kho từ xa, ta sẽ dùng lệnh:
Câu lệnh này thực hiện 2 việc: thứ nhất, nó sẽ lấy những commit mới nhất từ kho từ xa về máy, thứ hai, nó sẽ tự động hợp nhất nhánh của kho từ xa vừa tải về với nhánh của kho nội bộ. Và đó cũng chính là điểm bất tiện của phương pháp này. Do vậy, thông thường, ta nên sử dụng câu lệnh sau:
Câu lệnh này sẽ tải những commit về nhưng không hợp nhất với nhánh ở kho trong máy. Tiếp theo, để thực hiện lệnh hợp nhất, ta dùng lệnh sau:
Lúc này, lịch sử commit của kho nội bộ sẽ được đồng bộ hóa với kho từ xa. Ta có thể kiểm tra lại điều này bằng lệnh git push và nhận được kết quả Everything up-to-date.
Cuối cùng, tôi muốn giới thiệu câu lệnh clone. Đây là câu lệnh mà ta thường dùng đối với kho từ xa để sao chép toàn bộ kho này về máy:
Phần URL chính là đường dẫn đến kho chứa từ xa.

Lời kết

Vậy là với những câu lệnh mà tôi đã trình bày trong series này, bạn đã có đủ kiến thức cơ bản cần thiết để làm việc với Git và GitHub. Có thể nếu chỉ đọc qua thôi, bạn sẽ cảm thấy khó hiểu. Nhưng không sao, khoảng chừng vài lần luyện tập là bạn sẽ quen ngay thôi.
Khái niệm làm việc thông qua Git và GitHub vẫn còn khá xa lạ với hầu hết mọi người. Cho nên để sử dụng chúng thành thạo, ta nên dùng chúng hằng ngày trong việc viết mã. Tôi thậm chí sử dụng Git không chỉ quản lý mã mà còn dùng nó để quản lý các bài viết trên blog này đấy. Sau khi tôi đưa thêm nội dung mới vào trong bài viết thì tôi tạo ngay một commit. Và khi tôi viết xong bài nào là tôi push nó lên trên GitHub. GitHub giờ đây trở thành nơi sao lưu các bài viết của tôi. Như bạn thấy, Git có thể dùng để quản lý khá nhiều thứ khác chứ không chỉ riêng những đoạn mã. Hãy dùng sự sáng tạo của mình để sử dụng Git một cách hiệu quả.

 

0 comments:

Post a Comment