Học về Git trong 30 phút - Phần I

Git đã phát triển phổ biến trong những năm gần đây. Hệ thống kiểm soát phiên bản được sử dụng bởi các dự án nguồn mở khổng lồ như Linux với hàng nghìn cộng tác viên, các nhóm có kích cỡ khác nhau, các nhà phát triển độc lập và thậm chí cả sinh viên.

Người mới bắt đầu thường rất sợ hãi bởi tất cả các lệnh và đối số bí ẩn mà yêu cầu git. Nhưng bạn không cần phải biết tất cả những điều đó để bắt đầu. Bạn có thể bắt đầu bằng cách nắm vững một số ít những người sử dụng thường xuyên nhất, và sau đó từ từ xây dựng từ đó. Và đây chính là điều mà chúng tôi sẽ dạy cho bạn hôm nay. Hãy bắt đầu nào! 1.Cơ bản Git là một tập hợp các tiện ích dòng lệnh để theo dõi và ghi lại các thay đổi trong tệp (thường là mã nguồn nhưng bạn có thể theo dõi bất cứ điều gì bạn muốn). Với nó, bạn có thể khôi phục các phiên bản cũ của dự án, so sánh, phân tích, trộn các thay đổi và hơn thế nữa. Quá trình này được gọi là kiểm soát phiên bản. Có một số hệ thống kiểm soát phiên bản thực hiện công việc này. Bạn có thể đã nghe một số trong số họ - SVN, Mercurial, Perforce, CVS, Bitkeeper và nhiều hơn nữa.

Git được phân cấp, có nghĩa là nó không phụ thuộc vào một máy chủ trung tâm để giữ các phiên bản cũ của tệp của bạn. Thay vào đó, nó hoạt động hoàn toàn tại địa phương bằng cách lưu trữ dữ liệu này như một thư mục trên ổ cứng của bạn-gọi là kho. Tuy nhiên, bạn có thể lưu trữ bản sao kho trực tuyến, giúp nhiều người trong 1 team hợp tác và làm việc trên cùng một mã. Đây là những trang web như GitHub và BitBucket được sử dụng . 1.1.Cài đặt git Cài đặt git trên máy bạn rất đơn giản: Linux - Chỉ cần mở Teminal và cài đặt git thông qua package mânger. Đối với Ubuntu lệnh là: sudo apt-get install git Windows - cài đặt dowload git tool theo link: gitforwindow OS X - Cách đơn giản nhất là cài đặt homebrew, và sau đó chỉ cầnchạy lệnh : brew install git trên teminal 1.2.Config git Bây giờ chúng ta đã cài đặt git trên máy tính của mình, chúng ta sẽ cần thêm một số cấu hình nhanh. Có rất nhiều lựa chọn có thể được fiddled với, nhưng chúng tôi sẽ thiết lập những điều quan trọng nhất: tên người dùng và email của bạn. Mở terminal và chạy các lệnh sau:

$ git config --global user.name "Tuyen B"
$ git config --global user.email [email protected]

Mọi hành động bạn làm trong Git bây giờ sẽ có một tên với tên và địa chỉ của bạn trên đó. Bằng cách này người dùng luôn biết ai đã làm gì và mọi thứ được tổ chức theo trật tự. 1.3.Tạo mới 1 respository - git init Như đã đề cập ở trên, git lưu trữ các tệp và lịch sử của nó trực tiếp như một thư mục trong dự án của bạn. Để thiết lập một kho lưu trữ mới, chúng ta cần phải mở teminal, điều hướng đến thư mục dự án và chạy* init git*. Điều này sẽ cho phép Git cho thư mục này cụ thể và tạo ra một thư mục .git ẩn nơi lịch sử kho lưu trữ và cấu hình sẽ được lưu trữ.

Tạo một thư mục trên Desktop của bạn được gọi là git_project, mở teminali và nhập các thông số sau:.

$ cd Desktop/git_project/
$ git init

Dòng lệnh nêntương ứng với đường dẫn của thư mục:

Initialized empty Git repository in /home/user/Desktop/git_project/.git/

Điều này có nghĩa là repo của bạn đã được tạo thành công nhưng vẫn trống. Bây giờ tạo một file văn bản đơn giản gọi là hello.txt và lưu nó trong thư mục git_project. 1.4.Kiểm tra trạng thái - git status Trạng thái Git là một lệnh bắt buộc phải trả về thông tin về trạng thái hiện tại của kho: mọi thứ đều cập nhật, có gì mới, những gì đã thay đổi, v.v ... Chạy trạng thái git trong repo vừa tạo nên trả lại những điều sau:

$ git status

On branch master

Initial commit

Untracked files:
  (use "git add ..." to include in what will be committed)

    hello.txt

Thông báo trả lại cho biết hello.txt không được theo dõi. Điều này có nghĩa là tệp tin này mới và Git chưa biết liệu có nên theo dõi những thay đổi xảy ra với tệp đó hay chỉ cần bỏ qua nó. Để thừa nhận tập tin mới, chúng ta cần phải thực hiện thêm nó. 5.Staging - git add Git có khái niệm về "khu vực dàn dựng". Bạn có thể nghĩ đến điều này giống như một bức tranh trống, chứa các thay đổi mà bạn muốn thực hiện. Nó bắt đầu có sản phẩm nào, nhưng bạn có thể thêm các tập tin vào nó (hoặc thậm chí các dòng đơn và các phần của tập tin) bằng lệnh git add, và cuối cùng là commit tất cả mọi thứ (tạo snapshot) với commit git.

Trong trường hợp này, chúng ta chỉ có một tệp vì vậy hãy thêm:

$ git add hello.txt

Nếu bạn muốn thêm tất cả trong thư mục , bạn có thể dùng :

$ git add -A

Kiểm tra trạng thái lần nữa trước khí commit

$ git status

On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached ..." to unstage)

    new file:   hello.txt

Một số file đã sẵn sàng được commit.TRạng thái tin nhắn nói cho chúng t abieest những gì đã thay đổi của file đối với staging, trong trường hợp nó là file mới, nhưng cần được chỉnh sửa hoặc xóa, phụ thuộc vào điều gì xảy ra với file truowsc kh git add lần cuối 1.6.Commiting - git commit Một cam kết đại diện cho trạng thái kho của bạn tại một thời điểm nhất định. Nó giống như một bức ảnh chụp nhanh, mà chúng ta có thể quay trở lại và xem điều đó là gì khi chúng ta ấy nó.

Để tạo một cam kết mới, chúng ta cần phải có ít nhất một thay đổi được thêm vào khu vực dàn (chúng tôi đã làm điều đó với git add) và chạy các điều sau:

$ git commit -m "Initial commit."

Điều này sẽ tạo ra một cam kết mới với tất cả các thay đổi từ khu vực dàn (thêm hello.txt). Phần "committing" ban đầu là một mô tả bằng văn bản do người dùng tạo để tóm tắt những thay đổi được thực hiện trong cam kết đó. Nó được coi là một thực hành tốt để cam kết thường xuyên và luôn luôn viết các thông điệp cam kết có ý nghĩa.

2.Remote repositories

Ngay bây giờ commit của bạn là cục bộ - nó chỉ tồn tại trong thư mục .git. Mặc dù kho lưu trữ cục bộ rất hữu ích, nhưng trong hầu hết các trường hợp, bạn muốn chia sẻ công việc của bạn và triển khai nó tới một máy chủ hoặc một dịch vụ lưu trữ kho lưu trữ

1. Kết nối với một kho lưu trữ từ xa - git remote add

Để tải một cái gì đó lên một repo từ xa, trước tiên chúng ta phải thiết lập một kết nối với nó.Địa chỉ của nó sẽ là https://github.com/tutorialzine/awesome-project. Đây chỉ là 1 ví dụ , bạn nên tạo kho chứa trống của riêng mình tại GitHub, BitBucket hoặc bất kỳ dịch vụ nào khác. Đăng ký và thiết lập có thể mất một thời gian, nhưng tất cả các dịch vụ cung cấp hướng dẫn từng bước tốt để giúp bạn.

Để liên kết kho cục bộ của bạn với GitHub, thực hiện dòng sau trong terminal:

$ git remote add origin https://github.com/tutorialzine/awesome-project.git

Một dự án có thể có nhiều kho lưu trữ từ xa cùng một lúc. Để có thể nói với họ ngoài chúng tôi cho họ tên khác nhau. Theo truyền thống, kho lưu trữ chính từ xa trong git được gọi là nguồn gốc.

2. Đẩy lên máy chủ- git push

Bây giờ là lúc chuyển các commit local của bạn tới máy chủ. Quá trình này được gọi là đẩy, và được thực hiện mỗi khi chúng ta muốn cập nhật các kho lưu trữ từ xa.

Git lệnh để làm điều này là git đẩy và có hai tham số - tên của repo từ xa và nhánh để đẩy đến (master là nhánh mặc định cho mỗi repo).

$ git push origin master

Counting objects: 3, done.
Writing objects: 100% (3/3), 212 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/tutorialzine/awesome-project.git
 * [new branch]      master -> master

Tùy thuộc vào dịch vụ bạn đang sử dụng, bạn sẽ cần phải xác thực cho mình để đẩy để đi qua. Nếu mọi thứ đã được thực hiện đúng, khi bạn vào trình duyệt web của bạn vào kho từ xa được tạo ra trước đó, hello.txt sẽ có sẵn ở đó.

3. Nhân bản một kho lưu trữ - git clone

Tại thời điểm này, mọi người có thể xem và duyệt qua kho lưu trữ từ xa của bạn trên Github. Họ có thể tải nó tại localvà có một bản sao làm việc đầy đủ của dự án của bạn với lệnh git clone:

$ Git clone https://github.com/tutorialzine/awesome-project.git

Một respository local mới được tạo tự động, với phiên bản github được cấu hình như một điều khiển từ xa.

  1. Lấy các thay đổi từ máy chủ - git pull

Nếu bạn cập nhật kho lưu trữ của mình, mọi người có thể tải thay đổi của bạn bằng một lệnh -pull:

$ git pull origin master

From https://github.com/tutorialzine/awesome-project
 * branch            master     -> FETCH_HEAD
Already up-to-date.

Vì không có ai khác commit kể từ khi clone, nên không có bất kỳ thay đổi nào để tải xuống.