Để làm việc với Git, bạn phải có kho lưu trữ để Git cất giữ các bản sao bạn lưu lại.
Có hai cách để có một kho: đơn giản nhất là bắt đầu từ một thư mục trên máy tính của bạn, khi bạn muốn bắt đầu một dự án mới hoặc đã có với Git. Cách thư hai là nhân bản từ một kho lưu trữ đã có; cách này thường áp dụng khi bạn làm việc với một vài người khác trong dự án, và việc nhân bản kho lưu trữ Git là để bắt đầu phần việc của riêng bạn cho dự án đó.
Bắt đầu từ một thư mục làm việc bất kỳ, bạn dùng lệnh git
init
để tạo mới một kho lưu trữ Git cho thư mục đó. Ví dụ, ta có
thư mục 'konichiwa' với vài tập tin trong đó:
$ cd konnichiwa $ ls README hello.rb
Trong dự án này, chương trình "Hello World" được viết bằng các ngôn
ngữ khác nhau, và Ruby là ngôn ngữ đầu tiên. Để bắt đầu quản lý
phiên bản với Git, đơn giản ta chạy lệnh git init
để
tạo kho lưu trữ:
$ git init Initialized empty Git repository in /opt/konnichiwa/.git/
Bạn sẽ thấy xuất hiện thư mục .git
bên trong thư mục
'konichiwa'. Thư mục này là kho lưu trữ Git, nơi mà Git lưu mọi thông
tin cần thiết để quản lý các phiên bản của dự án.
$ ls -a . .. .git README hello.rb
Bây giờ bạn đã có thể bắt đầu ghi các bản sao dự án với khung kho lưu trữ Git vừa tạo của bạn.
Tóm tắt:, bạn dùng git init
để tạo kho
lưu trữ Git cho một thư mục đã có. Việc tạo kho này có thể áp dụng
cho bất kỳ thư mục nào trên máy tính của bạn.
Khi làm việc với người khác, hoặc khi muốn có một bản sao để làm vài việc
riêng, bạn sẽ nhân bản kho Git của dự án. Lệnh sẽ dùng là git clone
[url]
, trong đó, [url] là địa chỉ của kho.
$ git clone git://github.com/schacon/simplegit.git
Initialized empty Git repository in /private/tmp/simplegit/.git/
remote: Counting objects: 100, done.
remote: Compressing objects: 100% (86/86), done.
remote: Total 100 (delta 35), reused 0 (delta 0)
Receiving objects: 100% (100/100), 9.51 KiB, done.
Resolving deltas: 100% (35/35), done.
$ cd simplegit/
$ ls
README Rakefile lib
Việc nhân bản một kho sẽ sao chép toàn bộ thông tin lược sử quá trình phát
triển dự án về thư mục (ở trên là 'simplegit') trên máy tính của bạn.
Trạng thái ban đầu của thư mục đó tương ứng với nhánh phát triển chính
(hay nhánh mặc định). Trong thư mục cũng có thư mục con .git
là kho lưu trữ Git địa phương (trong khi kho gốc được chỉ ra ở địa chỉ kho
trong lệnh nhân bản ở trên).
$ ls -a . .. .git README Rakefile lib $ cd .git $ ls HEAD description info packed-refs branches hooks logs refs config index objects
Khi nhân bản, Git mặc định tạo một thư mục cùng tên với kho Git trong phần địa chỉ được cho khi nhân bản (phần tên này nằm sau dấu gạch chéo cuối cùng). Tuy nhiên, nếu bạn muốn kết quả nhân bản nằm trong thư mục khác, bạn có thể chỉ ra ở sau địa chỉ kho (cách với địa chỉ kho ít nhất một khoảng trắng.)
Tóm tắt: bạn dùng git clone
để có một
bản sao của kho Git trên máy tính, để bạn có thể thực hiện các đóng
góp riêng cho dự án.