Thứ tư, 06/03/2013 | 00:00 GMT+7

Cách sử dụng Git hiệu quả


Bài viết này giả định bạn đã cài đặt git và cài đặt cấu hình chung của bạn (cụ thể là tên user và email) được đặt đúng cách. Nếu không phải như vậy, hãy tham khảo hướng dẫn giới thiệu git .

Git là một phần mềm rất hữu ích để giúp phát triển hợp lý cho các dự án lập trình. Nó không có yêu cầu về ngôn ngữ cũng như yêu cầu về cấu trúc file , để mở cho các nhà phát triển quyết định cách họ muốn cấu trúc quy trình làm việc của bạn .

Trước khi sử dụng git để phát triển, bạn nên lập kế hoạch cho quy trình làm việc của bạn . Quyết định về quy trình làm việc thường dựa trên quy mô và quy mô của dự án của bạn. Để có được hiểu biết cơ bản về git bây giờ, một quy trình làm việc đơn giản, đơn nhánh là đủ. Theo mặc định, nhánh đầu tiên trên bất kỳ dự án git nào được gọi là "master". Trong phần hướng dẫn sau của loạt bài này, bạn sẽ học cách tạo các nhánh khác.

Hãy tạo dự án đầu tiên của ta và gọi nó là "thử nghiệm". (Nếu bạn đã có một dự án mà bạn muốn nhập vào git, bạn có thể bỏ qua phần đó .)

Tạo không gian làm việc của bạn

Giống như việc bạn muốn có một môi trường làm việc tốt, sạch sẽ, ý tưởng tương tự cũng áp dụng cho nơi bạn viết mã của bạn , đặc biệt nếu bạn sẽ đóng góp cho một số dự án cùng một lúc. Một gợi ý tốt có thể là có một folder có tên git trong folder chính của bạn, folder này có các folder con cho từng dự án riêng lẻ của bạn.

Điều đầu tiên ta cần làm là tạo môi trường không gian làm việc của bạn :

user@host ~ $ mkdir -p ~/git/testing ; cd ~/git/testing

Các lệnh trên sẽ thực hiện được hai việc: 1) Nó tạo một folder có tên "git" trong folder chính của ta và sau đó tạo một folder con bên trong folder đó được gọi là "testing" (đây là nơi dự án của ta thực sự sẽ được lưu trữ). 2) Nó đưa ta đến folder cơ sở của dự án.

Khi ở trong folder đó, ta cần tạo một vài file sẽ có trong dự án của ta . Trong bước này, bạn có thể làm theo và tạo một vài file giả cho mục đích thử nghiệm hoặc bạn có thể tạo file / folder mà bạn muốn sẽ là một phần của dự án của bạn.

Ta sẽ tạo một file thử nghiệm để sử dụng trong repository lưu trữ của ta :

user@host ~/git/testing $ touch file

Khi tất cả các file dự án của bạn đã ở trong không gian làm việc của bạn, bạn cần bắt đầu theo dõi các file của bạn bằng git. Bước tiếp theo giải thích quá trình đó.

Chuyển đổi một dự án hiện có thành một môi trường không gian làm việc

Khi tất cả các file nằm trong không gian làm việc git của bạn, bạn cần nói với git rằng bạn muốn sử dụng folder hiện tại của bạn làm môi trường git.

user@host ~/git/testing $ git init
Initialized empty Git repository in /home/user/git/testing/.git/

Khi bạn đã khởi tạo repository trống mới của bạn , bạn có thể thêm file của bạn .

Thao tác sau sẽ thêm tất cả các file và folder vào repository mới được tạo của bạn:

user@host ~/git/testing $ git add .

Trong trường hợp này, không có kết quả nào là kết quả tốt. Thật không may, git không phải lúc nào cũng thông báo cho bạn nếu điều gì đó hoạt động.

Mỗi khi bạn thêm hoặc thực hiện thay đổi đối với file , bạn cần viết một thông báo commit . Phần tiếp theo mô tả một thông điệp commit là gì và cách viết một thông báo.

Tạo một thông báo commit

Thông báo commit là một thông báo ngắn giải thích những thay đổi bạn đã thực hiện. Nó là bắt buộc trước khi gửi các thay đổi mã hóa của bạn (được gọi là một lần đẩy) và đó là một cách tốt để thông báo với các đồng phát triển của bạn những gì mong đợi từ những thay đổi . Phần này sẽ giải thích cách tạo chúng.

Thông báo commit thường khá ngắn, từ một đến hai câu giải thích những gì thay đổi đã làm. Thực hành tốt là thực hiện từng thay đổi cá nhân trước khi bạn thực hiện động tác đẩy. Bạn có thể đẩy bao nhiêu commit tùy thích. Yêu cầu duy nhất cho bất kỳ commit nào là nó liên quan đến ít nhất một file và nó có một thông báo. Đẩy phải có ít nhất một commit .

Tiếp tục với ví dụ của ta , ta sẽ tạo thông báo cho commit ban đầu của ta :

user@host ~/git/testing $ git commit -m "Initial Commit" -a
[master (root-commit) 1b830f8] initial commit
 0 files changed
 create mode 100644 file

Có hai tham số quan trọng của lệnh trên. Đầu tiên là -m, nghĩa là thông báo commit của ta (trong trường hợp này là " Commit ban đầu") sẽ theo sau. Thứ hai, dấu -a cho biết rằng ta muốn thông điệp commit của ta được áp dụng cho tất cả các file được thêm vào hoặc sửa đổi. Điều này không sao cho lần commit đầu tiên, nhưng nói chung bạn nên chỉ định các file hoặc folder riêng lẻ mà ta muốn commit .

Ta cũng có thể đã làm:

user@host ~/git/testing $ git commit -m "Initial Commit" file

Để chỉ định một file cụ thể để commit . Để thêm file hoặc folder bổ sung, bạn chỉ cần thêm danh sách được phân tách bằng dấu cách vào cuối lệnh đó.

Đẩy các thay đổi đến một server từ xa

Cho đến thời điểm này, ta đã thực hiện mọi thứ trên server local của bạn . Đó chắc chắn là một tùy chọn để sử dụng git local , nếu bạn muốn có bất kỳ cách dễ dàng nào để kiểm soát version file của bạn . Tuy nhiên, nếu bạn muốn làm việc với một group các nhà phát triển, bạn cần phải đẩy các thay đổi lên một server từ xa. Phần này sẽ giải thích cách thực hiện điều đó.

Bước đầu tiên để có thể đẩy mã đến một server từ xa là cung cấp URL nơi repository và đặt tên cho nó. Để cấu hình repository từ xa để sử dụng và để xem danh sách tất cả các điều khiển từ xa (bạn có thể có nhiều điều khiển từ xa), hãy nhập như sau:

user@host ~/git/testing $ git remote add origin ssh://git@git.domain.tld/repository.git 
user@host ~/git/testing $ git remote -v
origin	ssh://git@git.domain.tld/repository.git (fetch)
origin	ssh://git@git.domain.tld/repository.git (push)

Lệnh đầu tiên thêm một điều khiển từ xa, được gọi là "origin" và đặt URL thành ssh: //git@git.domain.tld/repository.git.

Bạn có thể đặt tên cho điều khiển từ xa của bạn bất cứ điều gì bạn muốn, nhưng URL cần phải trỏ đến một repository từ xa thực tế. Ví dụ: nếu bạn muốn đẩy mã lên GitHub, bạn cần sử dụng URL repository mà họ cung cấp.

Khi bạn đã cấu hình điều khiển từ xa, bây giờ bạn có thể đẩy mã của bạn .

Bạn có thể đẩy mã đến server từ xa bằng lệnh như sau:

user@host ~/git/testing $ git push origin master
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 266 bytes, done.
Total 3 (delta 1), reused 1 (delta 0)
To ssh://git@git.domain.tld/repository.git
   0e78fdf..e6a8ddc  master -> master

"git push" cho git biết rằng ta muốn đẩy các thay đổi của bạn , "origin" là tên của server từ xa mới được cấu hình của ta và "master" là tên của nhánh đầu tiên.

Trong tương lai, khi bạn có các commit mà bạn muốn đẩy lên server , bạn có thể chỉ cần gõ "git push".

Tôi hy vọng bài viết này đã cung cấp cho bạn những hiểu biết cơ bản về cách git được dùng hiệu quả cho một group các nhà phát triển. Bài tiếp theo của loạt bài này sẽ phân tích sâu hơn về các nhánh git và tại sao chúng lại hiệu quả như vậy.

Bởi Jason Kurtz

Tags:

Các tin liên quan