GIT là gì - Hướng dẫn cơ bản về GIT. Git. Bắt đầu nhanh chóng để sử dụng các thao tác cơ bản kèm theo lời giải thích

GUI Git

Đi kèm với git - Chạy git gui từ dòng lệnh và Cài đặt cửa sổ msysgit sẽ thêm nó vào menu bắt đầu.

GUI Git có thể thực hiện hầu hết những gì bạn cần làm với git. Bao gồm các thay đổi cảnh, thiết lập git và kho lưu trữ, đẩy các thay đổi, tạo/xem lại/xóa các nhánh, hợp nhất và hơn thế nữa.

Một trong những tính năng tôi yêu thích nhất là phím tắt "script" và "script" trong menu nút bên phải chuột, cho phép bạn chụp một số phần nhất định của tệp. Bạn có thể đạt được điều tương tự thông qua git add -i , nhưng tôi thấy nó dễ sử dụng hơn.

Đây không phải là ứng dụng đẹp nhất nhưng nó hoạt động trên hầu hết các nền tảng (dựa trên Tcl/Tk)

GitK

Cũng được bao gồm trong git. Đây là trình xem lịch sử git và cho phép bạn trực quan hóa lịch sử của kho lưu trữ (bao gồm cả các nhánh khi chúng được tạo và hợp nhất). Bạn có thể duyệt và tìm kiếm.

Kết hợp tốt với git-gui.

Gitnub

Ứng dụng Mac OS X. Về cơ bản tương đương với nhật ký git, nhưng có một số tích hợp github (ví dụ: "Chế độ xem mạng").

Trông đẹp và phù hợp với Mac OS X. Bạn có thể tìm kiếm trong kho. Lời chỉ trích lớn nhất đối với Gitnub là nó hiển thị lịch sử theo kiểu tuyến tính (từng nhánh một) - nó không hình dung ra sự phân nhánh và hợp nhất, điều này có thể quan trọng với git, mặc dù đây là một cải tiến có kế hoạch.

GitX

Được thiết kế để "nhân bản gitk cho OS X".

Nó có thể trực quan hóa lịch sử nhánh phi tuyến tính, thực hiện các cam kết, duyệt và tìm kiếm, đồng thời có một số tính năng thú vị khác như khả năng "Xem nhanh" bất kỳ tệp nào trong bất kỳ bản sửa đổi nào (nhấn phím cách trong chế độ xem danh sách tệp) xuất bất kỳ tệp nào (sử dụng kéo và làm rơi) .

Nó được tích hợp vào OS X tốt hơn nhiều so với git-gui/gitk, đồng thời nhanh và ổn định ngay cả với các kho lưu trữ đặc biệt lớn.

Kho lưu trữ git pieter ban đầu chưa được cập nhật gần đây (hơn một năm tại thời điểm viết bài). Một nhánh được duy trì tích cực hơn hiện có sẵn trong Brotherbard/gitx - nó bổ sung thêm " thanh bên, chọn, kéo, đẩy, thêm điều khiển từ xa, hợp nhất, chọn, cài đặt lại, sao chép, sao chép vào"

SmartGit

TRÊN trang chủ:

SmartGit là một giao diện dành cho hệ thống phân phối Kiểm soát phiên bản Git chạy trên Windows, Mac OS X và Linux. SmartGit được thiết kế dành cho các nhà phát triển thích giao diện người dùng đồ họa thông qua ứng dụng dòng lệnh để hoạt động hiệu quả hơn nữa với git - DVCS mạnh mẽ nhất hiện nay.

RùaGit

Phiên bản git TortoiseSVN dành cho người dùng Windows.

Nó chuyển TortoiseSVN sang TortoiseGit. Phiên bản mới nhất 1.2.1.0. Phiên bản này có thể thực hiện các tác vụ thông thường như cam kết, hiển thị nhật ký, sự khác biệt giữa hai phiên bản, tạo nhánh và thẻ, tạo bản vá, v.v. Xem Ghi chú phát hành để biết chi tiết. Bạn được chào đón để đóng góp cho dự án này.

QGit

QGit là trình xem GUI git được tích hợp trong Qt/C++.

Với qgit, bạn sẽ có thể xem lịch sử thay đổi, xem nội dung bản vá và các tệp đã thay đổi bằng đồ họa sau nhiều lần phát triển chi nhánh khác nhau.

gitg

gitg - trình xem kho lưu trữ git hướng gtk+/GNOME. Một trong những thách thức chính là cung cấp trải nghiệm người dùng thống nhất hơn cho giao diện Git trên nhiều máy tính để bàn. Điều này không có nghĩa là một ứng dụng đa nền tảng mà là sự cộng tác chặt chẽ với khách hàng tương tự Cho người khác các hệ điều hành(ví dụ GitX cho OS X).

Đặc thù

  • Xem lịch sử thay đổi.
  • Xử lý các kho lưu trữ lớn (tải kho lưu trữ linux, hơn 17000 bản sửa đổi, chưa đến 1 giây).
  • Cam kết thay đổi.
  • Các bước/gỡ cài đặt từng phần riêng lẻ.
  • Hủy thay đổi.
  • Hiển thị màu sắc của các thay đổi đối với các thay đổi trong phiên bản.
  • Xem cây cho một phiên bản nhất định.
  • Xuất các phần của cây của một phiên bản nhất định.
  • Cung cấp bất kỳ thông số kỹ thuật nào mà lệnh, chẳng hạn như "git log", có thể hiểu để xây dựng lịch sử.
  • Hiển thị và chuyển đổi giữa các nhánh trong chế độ xem lịch sử.

Hộp Git

Gitbox là giao diện đồ họa Mac OS X để kiểm soát phiên bản của hệ thống git. Trong một cửa sổ, bạn có thể xem các nhánh, lịch sử và trạng thái làm việc của thư mục.

Hoạt động hàng ngày thật dễ dàng: thay đổi giai đoạn và tạm thời thông qua hộp kiểm. Khóa, kéo, xả và nhấn chỉ bằng một cú nhấp chuột. Nhấp đúp vào thay đổi hiển thị khác biệt với FileMerge.app.

Gity

Không có nhiều thông tin trên trang web Gity, nhưng các ảnh chụp màn hình ở đó hiển thị một git gui OS X mở đầy đủ chức năng với open mã nguồn.

Meld là một công cụ phân định và hợp nhất trực quan. Bạn có thể so sánh hai hoặc ba tệp và chỉnh sửa chúng tại chỗ (các khác biệt cập nhật động). Bạn có thể so sánh hai hoặc ba thư mục và chạy tệp so sánh. Bạn có thể duyệt và xem trước bản sao làm việc từ phiên bản phổ biến các hệ thống quản lý như CVS, Subversion, Bazaar-ng và Mercurial [và Git].

Katana

GUI git cho OSX của Steve Dekorte.

Hãy xem những nhánh từ xa nào có thay đổi kéo và kho lưu trữ cục bộ có thay đổi đẩy. Các thao tác git thêm, cam kết, đẩy, kéo, đánh dấu và đặt lại đều được hỗ trợ, cũng như sự khác biệt về hình ảnh và xem trước trực quan hệ thống phân cấp dự án làm nổi bật thay đổi cục bộ và bổ sung.

Miễn phí cho 1 kho lưu trữ, $25 cho kho lưu trữ khác.

Mầm (trước đây là GitMac)

hướng xây dựng git rất dễ sử dụng. Có giao diện người dùng Cocoa (giống mac) riêng, xem lướt qua kho lưu trữ, nhân bản, đẩy/kéo, phân nhánh/hợp nhất, khác biệt trực quan, các nhánh từ xa, dễ dàng truy cậpđến thiết bị đầu cuối, v.v.

Bằng cách làm cho các hành động git được sử dụng phổ biến nhất trở nên trực quan và dễ thực hiện, Sprout (trước đây là GitMac) làm cho git trở nên thân thiện với người dùng. Tương thích với hầu hết các quy trình công việc git, Sprout rất phù hợp cho các nhà phát triển và nhà phát triển, cộng tác nhóm cũng như người dùng nâng cao và người mới làm quen.

Tòa tháp

Giàu có GUI git cho Mac OSX. dùng thử 30 ngày phiên bản dùng thử, $59USD cho giấy phép một người dùng.

Chống lại sự thay đổi là một đặc điểm cơ bản của con người. Nếu Git không tồn tại khi bạn bắt đầu làm việc với các hệ thống kiểm soát phiên bản thì rất có thể bạn đã bắt đầu với Subversion. Mọi người thường nói rằng Git quá khó đối với người mới bắt đầu. Tuy nhiên, tôi xin có sự khác biệt với bạn.

Trong bài viết này, tôi sẽ cho bạn biết cách sử dụng Git để làm việc với các dự án của mình. Giả sử bạn đang tạo một dự án từ đầu và muốn sử dụng Git làm hệ thống kiểm soát phiên bản của mình. Sau khi giới thiệu các lệnh cơ bản, chúng ta sẽ xem cách bạn có thể xuất bản mã của mình lên GitHub.

Trong bài viết này chúng ta sẽ nói về những điều cơ bản - cách khởi tạo một dự án, cách quản lý dự án mới và hiện có. tập tin hiện có và cách lưu trữ mã của bạn trên đám mây. Chúng ta sẽ bỏ qua một số nội dung phức tạp như phân nhánh vì bài viết này hướng tới người mới bắt đầu.

Cài đặt Git

Trên trang web Git chính thức có tại hệ thống khác nhau- Linux, Mac, Windows. Trong trường hợp của chúng tôi, chúng tôi sẽ sử dụng Ubuntu 13.04 và chúng tôi sẽ cài đặt Git thông qua apt-get.

Sudo apt-get cài đặt git

Cấu hình ban đầu

Hãy tạo một thư mục mà chúng ta sẽ làm việc trong đó. Bạn cũng có thể sử dụng Git để làm việc trên một dự án hiện có, trong trường hợp đó bạn sẽ không phải tạo thư mục demo như mô tả bên dưới.

Mkdir my_git_project cd my_git_project

Bước đầu tiên là khởi tạo kho Git trong thư mục dự án. Bạn có thể thực hiện việc này bằng lệnh init, lệnh này sẽ tạo thư mục .git chứa tất cả thông tin về dự án của bạn.

Cấu hình Git --global user.name "Shaumik" git config --global user.email " [email được bảo vệ]" git config --global color.ui "tự động"

Điều đáng lưu ý là nếu bạn không chỉ định địa chỉ và tên của mình thì các giá trị mặc định sẽ được sử dụng thay thế. Trong trường hợp của chúng tôi, các giá trị mặc định sẽ là donny và donny@ubuntu.

Chúng tôi cũng đặt màu giao diện thành tự động để đầu ra của lệnh Git sẽ có màu. Chúng tôi thêm tiền tố --global vào các lệnh này để các giá trị này được sử dụng trên toàn hệ thống và không cần phải đặt theo từng dự án.

Chuẩn bị tập tin cho cam kết

Bước tiếp theo là tạo một số tập tin. Bạn có thể sử dụng bất kỳ soạn thảo văn bản. Lưu ý rằng nếu bạn đang khởi tạo Git trên một dự án hiện có thì bạn không cần thực hiện bước này.

Kiểm tra trạng thái của kho lưu trữ

Bây giờ bạn đã có các tệp trong dự án của mình, hãy xem cách Git xử lý chúng. Để kiểm tra trạng thái hiện tại của kho lưu trữ, hãy sử dụng lệnh git status

Thêm tệp vào Git

Tại thời điểm này, Git không theo dõi bất kỳ tệp nào của chúng tôi. Bạn cần thêm tệp cụ thể vào Git để điều này xảy ra. Để làm điều này, chúng ta sẽ sử dụng lệnh add.

Git thêm my_file

Sau khi kiểm tra trạng thái của kho lưu trữ, chúng tôi thấy rằng một trong các tệp đã được thêm vào đó.

Để thêm nhiều tệp, chúng tôi sử dụng cách sau (lưu ý rằng chúng tôi đã thêm tệp đầu tiên trước đó nên chúng tôi chỉ thêm hai tệp còn lại).

Git thêm myfile2 myfile3

Có thể sử dụng đệ quy git add nhưng hãy cẩn thận với lệnh này. Có một số tệp (chẳng hạn như các chương trình đã biên dịch) không nên thêm vào kiểm soát phiên bản. Nếu bạn sử dụng git add đệ quy, những tệp như vậy cũng sẽ nằm trong kho lưu trữ.

Xóa tập tin

Hãy tưởng tượng rằng bạn vô tình thêm một tệp vào kho lưu trữ mà đáng lẽ không nên có ở đó. Hoặc bạn muốn xóa một tập tin khỏi hệ thống kiểm soát phiên bản. Nói chung, lệnh git rm sẽ không chỉ xóa một tệp khỏi kho lưu trữ mà còn xóa nó khỏi đĩa về mặt vật lý. Để khiến Git ngừng theo dõi một tệp nhưng vẫn giữ nó trên đĩa, hãy sử dụng lệnh sau:

Git rm --cached [tên tệp]

Cam kết thay đổi

Khi bạn đã thêm mọi thứ tập tin cần thiết, bạn có thể cam kết chúng trong Git. Hãy coi cam kết như một bản chụp nhanh về trạng thái của dự án ở một giai đoạn nhất định mà bạn có thể quay lại bất kỳ lúc nào và xem trạng thái của dự án tại thời điểm đó. Mỗi cam kết có một thông báo liên kết với nó, được chỉ định làm đối số sau tiền tố -m

Cam kết Git -m "Cam kết đầu tiên của tôi"

Vui lòng chỉ ra một tin nhắn sẽ chứa thông tin hữu ích, vì chúng giúp hiểu chính xác những gì đã được thay đổi trong một cam kết nhất định. Tránh một số tin nhắn chung, chẳng hạn như “Lỗi quy tắc”. Nếu bạn có trình theo dõi lỗi, bạn có thể chỉ định một thông báo như “Đã sửa lỗi số 123”. Thực hành tốt- cho biết tên của chi nhánh hoặc cải tiến trong tin nhắn. Ví dụ: “Quản lý tài sản - đã thêm khả năng tạo PDF dựa trên tài sản” là một thông báo rõ ràng và dễ hiểu.

Git xác định một cam kết bằng số thập lục phân dài. Thông thường, không cần sao chép toàn bộ dòng; 5-6 ký tự đầu tiên là đủ để xác định một cam kết cụ thể. Từ ảnh chụp màn hình, bạn có thể thấy cam kết của chúng tôi được xác định bằng số 8dd76fc.

Cam kết tiếp theo

Hãy thay đổi một vài tập tin sau khi chúng ta đã cam kết chúng. Sau khi chúng tôi thay đổi chúng, trạng thái git sẽ báo cáo rằng chúng tôi đã thay đổi tệp.

Bạn có thể xem những gì đã thay đổi trong các tệp này kể từ lần xác nhận trước đó bằng lệnh git diff. Nếu bạn muốn xem những thay đổi cho tập tin cụ thể, bạn có thể sử dụng git diff<файл> .

Cần phải lập chỉ mục các thay đổi và cam kết chúng. Tất cả các tệp dự án đã thay đổi có thể được thêm vào một cam kết bằng lệnh sau:

Bạn có thể tránh sử dụng lệnh này bằng cách thêm tùy chọn -a vào git commit . Lệnh này sẽ lập chỉ mục tất cả các tệp đã thay đổi và cam kết chúng. Nhưng cách tiếp cận này có thể khá nguy hiểm vì bạn có thể phạm nhầm điều gì đó mà bạn không muốn. Ví dụ: giả sử bạn đã mở một tệp và vô tình thay đổi tệp đó. Khi lập chỉ mục các tệp đã thay đổi, bạn sẽ được thông báo về những thay đổi trong mỗi tệp. Nhưng nếu bạn cam kết tất cả các tệp đã thay đổi mà không xem trợ giúp. git commit -a , thì tất cả các tệp sẽ được cam kết, kể cả những tệp mà bạn không muốn cam kết.

Khi bạn đã lập chỉ mục các tệp, bạn có thể bắt đầu cam kết. Như đã đề cập trước đó, bạn có thể chỉ định thông báo cho một cam kết bằng cách sử dụng khóa chuyển đổi -m. Nhưng bạn cũng có thể chỉ định nhận xét nhiều dòng bằng lệnh git commit, lệnh này sẽ mở trình chỉnh sửa bảng điều khiển để nhập nhận xét.

Quản lý dự án

Để xem lịch sử dự án, bạn có thể sử dụng lệnh sau:

Nó sẽ hiển thị toàn bộ câu chuyện dự án dưới dạng danh sách các cam kết và thông tin về chúng. Thông tin cam kết chứa hàm băm cam kết, tác giả, thời gian và thông báo cam kết. Có nhiều loại lệnh git log mà bạn cần phải làm quen khi sử dụng phân nhánh Git. Để xem chi tiết về một cam kết cụ thể và các tệp đã được thay đổi, hãy chạy lệnh sau:

Chương trình Git<хеш_коммита>

Ở đâu<хеш_коммита>- số thập lục phân được liên kết với cam kết. Bởi vì hướng dẫn này Dành cho người mới bắt đầu, chúng tôi sẽ không xem xét cách đưa trạng thái về thời điểm của một cam kết cụ thể hoặc cách quản lý các nhánh.

Các hệ thống kiểm soát phiên bản phân tán (DVCS) đang dần thay thế các hệ thống tập trung. Nếu bạn chưa sử dụng một trong số chúng, bây giờ là lúc để thử.

Trong bài viết này, tôi sẽ cố gắng chỉ ra cách bạn có thể nhanh chóng bắt đầu thử nghiệm git bằng trang web github.com.

Bài viết này sẽ không thảo luận về sự khác biệt giữa các DVCS khác nhau. Ngoài ra, làm việc với git sẽ không được xem xét chi tiết; có rất nhiều chủ đề về chủ đề này. nguồn tốt mà tôi sẽ cung cấp ở cuối bài viết.

Vì vậy, trang web github.com được định vị là dịch vụ lưu trữ dự án web sử dụng hệ thống kiểm soát phiên bản git, đồng thời là mạng xã hội dành cho các nhà phát triển. Người dùng có thể tạo số lượng kho lưu trữ không giới hạn, mỗi kho được cung cấp một wiki, hệ thống theo dõi vấn đề, khả năng tiến hành đánh giá mã và hơn thế nữa. GitHub trên khoảnh khắc này là nhất dịch vụ phổ biến thuộc loại này, vượt qua Sourceforge và Google Code.

Đối với các dự án nguồn mở, việc sử dụng trang này là miễn phí. Nếu bạn cần có kho lưu trữ riêng, bạn có thể nâng cấp lên gói trả phí:

Hãy bắt đầu với việc đăng ký. Theo liên kết github.com/signup/free và nhập dữ liệu của bạn.
Sau khi đăng ký, chúng ta được đưa đến Bảng điều khiển của tài khoản:

Bây giờ chúng tôi không có một kho lưu trữ duy nhất và chúng tôi có thể tạo một kho lưu trữ mới hoặc phân nhánh từ kho lưu trữ hiện có của người khác và lãnh đạo nhánh phát triển của riêng chúng tôi. Sau đó, nếu muốn, bạn có thể đề xuất các thay đổi của mình với tác giả của kho lưu trữ gốc (Yêu cầu kéo).

Nhưng trước tiên, hãy cài đặt git và định cấu hình nó để hoạt động với trang web.

Nếu bạn đang làm việc trên Windows, hãy tải xuống và cài đặt msysgit. Đây là phiên bản console của git dành cho Windows (câu chuyện tiếp theo sẽ dựa trên ví dụ về hệ điều hành này).
Hướng dẫn sử dụng MacOS X (eng)
Hướng dẫn dành cho Linux (eng)
Sẽ không có vấn đề gì, chỉ cần nhấp vào Tiếp theo ở mọi nơi. Sau khi cài đặt, chọn từ menu ngữ cảnh Git Bash Explorer:

Hoặc thông qua Git Bash.lnk trong thư mục chứa chương trình đã cài đặt:

Chúng tôi nhập dữ liệu và cài đặt ngắt dòng trong bảng điều khiển:
git config --global user.name "tên của bạn"
git config --global user.email "email của bạn"
cấu hình git --global core.autocrlf đúng
cấu hình git --global core.safecrlf đúng

Nhân tiện, tôi khuyên bạn nên tham gia một khóa học tương tác tốt về cách sử dụng git từ bảng điều khiển. Khóa học được hoàn thành trong vài giờ và cung cấp các kỹ năng cơ bản cần thiết.

Đối với những người thích gui, có một số công cụ như vậy để làm việc với git trên Windows. Hai cái chính là SmartGit (đa nền tảng) và TortoiseGit. Cả hai đều tốt, và việc sử dụng cái nào là vấn đề sở thích. Tôi sẽ mô tả cách làm việc với TortoiseGit.
Đối với hoa anh túc cũng có sự lựa chọn giu.

  • Theo quan điểm của tôi, khách hàng chính thức từ GitHub vẫn còn khá thô sơ.
  • GitX - Cá nhân tôi không thích nó
  • GitBox - hầu hết đều tuân theo mac-way, tôi thực sự khuyên bạn nên dùng thử

Về git bằng tiếng Nga:
habrahabr.ru/blogs/Git/106912 “Mô hình phân nhánh thành công cho git” - bản dịch một bài viết tiếng Anh hay
githowto.com khóa học tương tác khi làm việc với git từ bảng điều khiển
habrahabr.ru/blogs/Git/106912 “Tại sao git” + thảo luận
habrahabr.ru/blogs/development/68341 “Git dành cho những người di chuyển từ SVN” + thảo luận
habrahabr.ru/blogs/Git/75990 " Làm việc theo nhóm trong git" + thảo luận
progit.org/book/ru Bản dịch tiếng Nga của cuốn sách “Pro Git” (chưa dịch đầy đủ)
habrahabr.ru/blogs/Git/123111 hướng dẫn-bảng cheat dành cho người mới bắt đầu
loạt bài viết “nội bộ của git”
lib.custis.ru/%D0%9B%D0%B8%D0%BD%D1%83%D1%81_%D0%A2%D0%BE%D1%80%D0%B2%D0%B0%D0%BB %D1%8C%D0%B4%D1%81_%D0%BE_GIT_%D0%BD%D0%B0_Google_Talks Linus Torvalds trên git
habrahabr.ru/blogs/Git/80909 cuốn sách “Sự kỳ diệu của Git”

Về git bằng tiếng Anh:
sách

  • progit.org/book cuốn sách “Pro Git”
  • rutracker.org/forum/viewtopic.php?t=2808582 cuốn sách “Kiểm soát phiên bản bằng Git”, 2009, O"Reilly
  • book.git-scm.com cuốn sách “Sách cộng đồng Git”
  • rutracker.org/forum/viewtopic.php?t=2808843 sách “Kiểm soát phiên bản thực dụng bằng Git”, 2008, T. Swicegood
  • rutracker.org/forum/viewtopic.php?t=3239579 cuốn sách “Hướng dẫn thực dụng về Git”, 2010, T. Swicegood. Phiên bản git đang được mô tả là 1.7.2.1. Sách ở dạng trải rộng hai trang - vấn đề/giải pháp

Hệ thống kiểm soát phiên bản, hay VCS, có thể giúp giảm bớt đáng kể công việc của các nhà phát triển đang cố gắng phân tích các thay đổi và đóng góp cho mã chung. Nói một cách đơn giản, hệ thống kiểm soát phiên bản là yếu tố chính trong việc quản lý các tùy chỉnh phần mềm đáp ứng nhu cầu của dự án. VCS cung cấp khả năng gán giá trị alpha hoặc số cho các thay đổi/sửa đổi/cập nhật cụ thể. Họ cũng có thể cung cấp thông tin về dấu thời gian và ID của người thực hiện thay đổi. Trong hướng dẫn này, chúng tôi sẽ cho bạn biết về hệ thống kiểm soát phiên bản được sử dụng phổ biến nhất - GIT. Bạn sẽ tìm hiểu GIT là gì và nó có những ưu điểm gì so với các VCS khác, đồng thời chúng ta cũng sẽ nói về việc cài đặt GIT trên hệ thống khác nhau và cách sử dụng đúng đắn của nó.

Năm 2005, Linus Torvalds (người nổi tiếng với việc tạo ra Nhân Linux OS) đã phát triển GIT để kiểm soát phiên bản của nhân Linux, tuy nhiên, sau đó ít lâu nó đã được hỗ trợ bởi một người khác, kỹ sư phần mềm người Nhật, Junio ​​​​Hamano. Ngày nay, GIT là một trong những hệ thống đã biết kiểm soát phiên bản nguồn mở, được hàng triệu dự án trên khắp thế giới dựa vào (bao gồm cả thương mại và dự án miễn phí). GIT là phần mềm hoàn toàn miễn phí, hỗ trợ nhiều hệ điều hành như Mac, Linux, Windows và Solaris. Bạn có thể tải xuống các bản phân phối tương ứng từ trang web GIT chính thức. Dưới đây là một số tính năng GIT đáng được đề cập:

  1. Là hệ thống kiểm soát phiên bản phân tán, GIT tuân theo nguyên tắc ngang hàng – ngang hàng(ngang hàng) không giống như các hệ thống khác như Subversion (SVN), dựa trên máy khách-máy chủ(máy khách-máy chủ).
  2. GIT cho phép các nhà phát triển có nhiều nhánh mã hoàn toàn độc lập. Việc tạo, xóa và hợp nhất các nhánh này diễn ra mà không gặp bất kỳ trở ngại nào và tốn nhiều thời gian.
  3. Trong GIT, mọi hoạt động đều mang tính nguyên tử; điều này có nghĩa là bất kỳ hành động nào cũng có thể thành công hoặc thất bại hoàn toàn (không có bất kỳ thay đổi nào). Điều này thực sự quan trọng vì trong một số hệ thống kiểm soát phiên bản (như CVS), nơi các hành động không mang tính nguyên tử, một số hoạt động treo lơ lửng trên toàn bộ kho lưu trữ có thể khiến nó ở trạng thái không ổn định.
  4. Không giống như các VCS khác như SVN hay CVS nơi siêu dữ liệu được lưu trữ trong thư mục ẩn(.cvs, .svn, v.v.), trong GIT tất cả dữ liệu đều nằm trong thư mục .git.
  5. Nó sử dụng mô hình dữ liệu giúp đảm bảo tính toàn vẹn mật mã của mọi thứ có trong kho lưu trữ. Mỗi khi các tập tin được thêm vào hoặc cam kết, chúng sẽ được tạo tổng kiểm tra; một quá trình tương tự xảy ra khi chúng được trích xuất.
  6. Một tính năng tuyệt vời khác có trong GIT là mục lục. Trong chỉ mục, nhà phát triển có thể định dạng các cam kết và xem xét chúng trước khi thực sự áp dụng chúng.

Như vậy có lẽ chúng ta đã trả lời được câu hỏi “GIT là gì”.

Nó khá dễ sử dụng. Để bắt đầu, bạn có thể tạo kho lưu trữ mới hoặc thêm kho lưu trữ hiện có. Sau khi cài đặt, lệnh git-init sẽ giúp bạn thiết lập kho lưu trữ mới hoặc lệnh git clone sẽ giúp bạn thiết lập người dùng cho bản sao đang chạy của kho lưu trữ cục bộ.

Bước 1 - Cài đặt GIT

Phần hướng dẫn này sẽ chỉ cho bạn những cách đơn giản nhất để cài đặt GIT trên các hệ điều hành khác nhau:

Tùy chọn 1 - Cài đặt GIT trên Windows

Cài đặt GIT trên Windows cũng dễ dàng như cài đặt bất kỳ ứng dụng nào khác; tải xuống trình cài đặt và chạy nó. Thực hiện theo các bước sau để cài đặt GIT trên Windows:

  1. Truy cập trang web này và tải xuống trình cài đặt GIT cho Windows.
  2. Sau khi tải xuống, hãy chạy cài đặt nhấn đúp chuột chuột. Làm theo hướng dẫn trên màn hình, tiếp tục nhấn Kế tiếp và cuối cùng Hoàn thành (Hoàn thành)để hoàn tất cài đặt thành công.
  1. Chạy dòng lệnh và nhập lệnh sau trong thiết bị đầu cuối:

LƯU Ý!Đừng quên thay đổi John Smith[email được bảo vệ] vào dữ liệu cá nhân của riêng bạn. Mọi cam kết được tạo sau đó sẽ được liên kết với dữ liệu này.

Đó là tất cả những gì bạn cần để cài đặt GIT trên Windows.

Tùy chọn 2 - Cài đặt GIT trên Mac

Có nhiều cách để cài đặt GIT trên Mac và thậm chí có khả năng GIT đã được cài đặt trên máy tính của bạn. Nếu bạn đã cài đặt XCode; chạy lệnh sau trong terminal để kiểm tra:

Git --version

Nếu kết quả của bạn tương tự với phiên bản git 2.7.0 (Apple Git-66) này, thì bạn có thể bắt đầu làm việc với GIT một cách an toàn, nếu không, hãy làm theo các bước sau:

  1. Truy cập và tải xuống trình cài đặt mới nhất cho Mac.
  2. Làm theo hướng dẫn của trình cài đặt và hoàn tất cài đặt.

  1. Sử dụng lại lệnh git –version để xác nhận rằng quá trình cài đặt đã thành công.
git config --global user.name "John Smith" git config --global user.email " [email được bảo vệ]"

LƯU Ý!Đừng quên thay đổi John Smith[email được bảo vệ]

Tùy chọn 3 - Cài đặt GIT trên Linux

Nếu bạn là Người dùng Linux, bạn sẽ có thể cài đặt các chương trình và gói trên máy tính của mình bằng cách sử dụng các lệnh cài đặt apt-get hoặc yum đơn giản; Chà, cài đặt GIT cũng không khác:

Đối với người dùng Debian/Ubuntu (apt-get):

  1. Mở một terminal và chạy lệnh sau:
cập nhật sudo apt-get sudo apt-get cài đặt git
  1. Xác minh rằng cài đặt là chính xác bằng lệnh git –version.
  2. Chạy các lệnh sau trong thiết bị đầu cuối để thiết lập tên người dùng và địa chỉ email sẽ được liên kết với tài khoản GIT của bạn:
git config --global user.name "John Smith" git config --global user.email " [email được bảo vệ]"

LƯU Ý!Đừng quên thay đổi John Smith[email được bảo vệ] vào dữ liệu của riêng bạn. Mọi cam kết trong tương lai được tạo sẽ được liên kết với chúng.

Fedora (ngon/dnf):

Bạn có thể nhận các gói GIT bằng cả yum và dnf.

  1. Mở một terminal và chạy các lệnh sau:
sudo dnf cài đặt git sudo yum cài đặt git
  1. Xác minh rằng cài đặt là chính xác bằng lệnh git –version.
  2. Chạy các lệnh sau trong thiết bị đầu cuối để thiết lập tên người dùng và địa chỉ email sẽ được liên kết với tài khoản GIT của bạn:
git config --global user.name "John Smith" git config --global user.email " [email được bảo vệ]"

LƯU Ý!Đừng quên thay đổi John Smith[email được bảo vệ] vào dữ liệu của riêng bạn. Mọi cam kết trong tương lai được tạo sẽ được liên kết với chúng.

Bước 2 - Sử dụng GIT

Bây giờ GIT đã được định cấu hình trên thiết bị Windows/ Mac / Linux, hãy tìm hiểu những điều cơ bản về GIT và cách bạn có thể bắt đầu với nó.

  • Tạo/cấu hình/sao chép kho lưu trữ:

Kho lưu trữ là một trong những công cụ mạnh mẽ nhất của bất kỳ dự án kiểm soát phiên bản nào. Để biến bất kỳ thư mục nào thành kho lưu trữ, GIT sẽ giúp lệnh đơn giản khởi tạo git<каталог>. Sau khi thực thi lệnh, một thư mục có tên .git sẽ xuất hiện ở nơi lệnh được thực thi.

Nếu bạn đã có một thư mục và muốn thêm (sao chép) nó, hãy sử dụng lệnh bản sao git. Để sao chép kho lưu trữ cục bộ, hãy sử dụng lệnh sau:

Bản sao Git /path/to/local/repository

Nếu bạn dự định sao chép một kho lưu trữ từ xa, hãy sử dụng:

Git clone user.name@host:/path/to/remote/repository

Nếu bạn có tài khoản Hostinger, bạn có thể dễ dàng sao chép và quản lý kho lưu trữ của mình thông qua công cụ trong Bảng điều khiểnGIT. Ví dụ: bạn muốn sao chép kho lưu trữ GIT, chỉ cần nhập địa chỉ của nó, chọn nhánh, đường dẫn cài đặt và nhấp vào nút Tạo nên.

Sau khi quá trình tạo hoàn tất, bạn có thể quản lý kho lưu trữ của mình bằng cách nhấp vào nút Điều khiển.

  • Quá trình làm việc:

Bây giờ kho lưu trữ đã được thiết lập, hãy nói về cấu trúc của nó. Mỗi kho lưu trữ cục bộ bao gồm ba cây: thư mục làm việc– bao gồm các tập tin, mục lục– đóng vai trò là nơi diễn ra tất cả các thay đổi trước khi chúng được áp dụng và CÁI ĐẦU– là con trỏ tới lần xác nhận cuối cùng của người dùng. Bản thân quy trình làm việc có thể được giải thích theo cách này: người dùng thêm một tệp hoặc thay đổi từ thư mục làm việc vào chỉ mục, sau đó sau khi xem và phân tích nó, nó sẽ được áp dụng cho CÁI ĐẦU.

  • Thêm và cam kết các lệnh:

Các thay đổi hoặc tệp được đề xuất sẽ được thêm vào chỉ mục bằng lệnh thêm. Đây là một lệnh đơn giản để thêm bất kỳ tập tin nào:

Thêm Git<имя_файла>

Nếu bạn đủ tự tin về sự thay đổi để cam kết thực hiện CÁI ĐẦU, bạn có thể sử dụng lệnh cam kết. Để thực hiện việc này, hãy sử dụng lệnh sau:

Git commit –m “Thêm bất kỳ thông báo nào mô tả cam kết tại đây”

LƯU Ý! Khi lệnh cam kết được thực thi (từ thư mục làm việc), tệp sẽ được cam kết CÁI ĐẦU, tuy nhiên, nó sẽ không được gửi đến kho lưu trữ từ xa; một lệnh riêng được sử dụng cho việc này.

  • Thúc đẩy hơn nữa những thay đổi:

Khi các thay đổi của bạn đã được cam kết (và nếu chúng sẵn sàng được đẩy vào kho lưu trữ ban đầu), bạn có thể sử dụng lệnh đẩy.

Sau khi thực hiện lệnh git Push Origin master từ thư mục làm việc, tất cả các thay đổi sẽ có trong CÁI ĐẦU sẽ được gửi đến kho lưu trữ từ xa. Trong lệnh trên, giá trị bậc thầy nên được đổi thành tên của nhánh mà bạn muốn thực hiện thay đổi.

Tuy nhiên, nếu kho lưu trữ hiện tại chưa được sao chép và bạn muốn thiết lập kết nối giữa kho lưu trữ của mình và máy chủ từ xa, hãy thực hiện bằng cách chạy lệnh sau:

Git từ xa thêm nguồn gốc<сервер>

LƯU Ý! Thay thế giá trị trong mã<сервер>Đến địa chỉ máy chủ từ xa, mà bạn cần vào lúc này.

Sau khi nhân bản, mọi thay đổi được thực hiện sẽ được chuyển đến máy chủ tương ứng.

  • Chi nhánh:

Một tính năng tuyệt vời và nâng cao khác của GIT là khả năng các nhà phát triển và người quản lý dự án tạo ra nhiều nhánh độc lập trong một dự án. Mục tiêu chính của chi nhánh là phát triển các chức năng biệt lập và không ảnh hưởng lẫn nhau. Nhánh tiêu chuẩn trong bất kỳ dự án nào luôn là nhánh chính. Bất kỳ số lượng nhánh nào cũng có thể được tạo khi cần thiết và cuối cùng được sáp nhập vào nhánh chính.

Một nhánh mới có thể được tạo bằng lệnh này:

Kiểm tra Git -b feature_n *

tính năng_nđây là tên chi nhánh

Nếu bạn muốn chuyển về nhánh chính, hãy sử dụng lệnh sau:

Bậc thầy kiểm tra Git

Bất kỳ nhánh nào cũng có thể bị xóa bằng lệnh này:

Kiểm tra Git -d feature_n

Để cung cấp một nhánh cho những người dùng khác, bạn phải đẩy nó vào kho lưu trữ từ xa. Để thực hiện việc này, hãy nhập lệnh này:

Tính năng nguồn gốc đẩy Git_n

  • Cập nhật và hợp nhất:

Trong trường hợp bạn cần cập nhật thư mục cục bộ của mình lên phiên bản mới nhất từ ​​kho lưu trữ từ xa, chỉ cần đưa ra lệnh git pull.

Để hợp nhất một nhánh đang hoạt động với một nhánh khác, hãy sử dụng lệnh này: git merge feature_n.

Cho dù bạn sử dụng kéo hay hợp nhất, GIT luôn cố gắng tự giải quyết xung đột nhưng không phải lúc nào cũng thành công. Nếu lệnh không thành công, người dùng phải giải quyết xung đột theo cách thủ công. Khi bạn đã chỉnh sửa các tệp (để giải quyết xung đột), hãy đánh dấu chúng là đã hợp nhất bằng lệnh:

Thêm Git<имя.файла>

Nếu bạn muốn xem sự khác biệt trước khi hợp nhất các nhánh, có thể chạy lệnh sau:

Git khác biệt<имя_ветки_источника> <имя_целевой_ветки>

  • Đánh dấu:

Trước khi phát hành bản cập nhật hoặc bản sửa đổi phần mềm, bạn nên tạo nhãn hoặc thẻ cho chúng. Để thực thi của hành động này trong GIT, chạy lệnh này:

Thẻ Git 1.1.0 1c2d2d56fa

1c2d2d56fa trong lệnh trên đề cập đến 10 ký tự đầu tiên của id cam kết được thẻ tham chiếu. ID cam kết hoặc ID cam kết có thể được tìm thấy trong nhật ký.

  • Tạp chí:

Bạn có thể nghiên cứu lịch sử của kho lưu trữ bằng cách xem tạp chí. Lệnh gọi git log. Để hiển thị các cam kết được thực hiện bởi một người dùng cụ thể, hãy sử dụng:

Nhật ký Git --tác giả =Tên

Có thể xem phiên bản nén của nhật ký (một cam kết trên mỗi dòng) bằng lệnh:

Nhật ký Git --pretty=oneline

Để xem các tập tin đã sửa đổi:

Nhật ký Git --tên-trạng thái

  • Thay thế các thay đổi cục bộ:

Nếu bằng cách nào đó bạn đã làm lộn xộn và muốn hoàn tác các thay đổi đã thực hiện đối với tệp, hãy thực hiện quy trình này bằng lệnh sau:

Kiểm tra Git --<имяфайла>

Bằng cách chạy lệnh này, bạn sẽ thay thế dữ liệu đã thay đổi trong cây làm việc bằng dữ liệu mới nhất nằm trong CÁI ĐẦU. Mọi thay đổi đã được thêm vào chỉ mục sẽ không bị ảnh hưởng.

Ngược lại, nếu tất cả các thay đổi hoặc cam kết cục bộ cần được xóa và nhánh chính cục bộ phải được liên kết với lịch sử mới nhất từ ​​máy chủ, hãy chạy các lệnh sau:

Git tìm nạp nguồn gốc git reset --hard Origin/master

Con người chống lại sự thay đổi là điều tự nhiên. Nếu bạn chưa được làm quen với Git khi mới bắt đầu làm việc với các hệ thống kiểm soát phiên bản, có thể bạn sẽ cảm thấy thoải mái hơn với Subversion (SVN).

Mọi người thường nói rằng Git quá khó đối với người mới bắt đầu. Tuy nhiên, tôi xin có sự khác biệt về điều này.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách sử dụng Git trong các dự án của bạn. Giả sử bạn đang xây dựng một dự án từ đầu và muốn quản lý nó bằng Git. Xem qua danh sách các lệnh cơ bản sẽ cho bạn ý tưởng về cách lưu trữ mã của bạn trên đám mây bằng GitHub.

Trong bài viết này, chúng ta sẽ nói về những điều cơ bản về Git - cách khởi tạo dự án của bạn, cách quản lý các tệp mới và hiện có cũng như cách lưu trữ mã của bạn trên đám mây.

Chúng ta sẽ không đề cập đến những phần tương đối phức tạp của Git, chẳng hạn như phân nhánh, vì bài học nàyđược thiết kế cho người mới bắt đầu.

Cài đặt Git

Trên trang web chính thức của Git có thông tin chi tiết về việc cài đặt nó trên Linux, Mac và Windows. Trong trường hợp của chúng tôi, chúng tôi sẽ sử dụng Ubuntu 13.04 cho mục đích trình diễn, trong đó chúng tôi sẽ cài đặt Git bằng apt-get:

sudo apt-get cài đặt git

Thiết lập ban đầu

Hãy tạo một thư mục mà chúng ta sẽ làm việc trong đó. Ngoài ra, bạn có thể sử dụng Git để quản lý một trong các dự án hiện có của mình; trong trường hợp này bạn sẽ không cần tạo thư mục demo như bên dưới:

mkdir my_git_project cd my_git_project

Bước đầu tiên là khởi tạo Git trong thư mục. Điều này có thể được thực hiện bằng lệnh init, lệnh này tạo thư mục .git chứa tất cả thông tin liên quan đến Git cho dự án của bạn.

git config --global user.name "Shaumik" git config --global user.email " [email được bảo vệ]" git config --global color.ui "tự động"

Điều quan trọng cần lưu ý là nếu bạn không cung cấp tên và địa chỉ email của mình thì các giá trị mặc định sẽ được sử dụng. Trong trường hợp của chúng tôi, các giá trị mặc định sẽ là tên người dùng donny và địa chỉ email donny@ubuntu.

Ngoài ra, chúng tôi thiết lập màu sắc giao diện người dùngđược đặt thành auto , điều này sẽ khiến đầu ra của lệnh Git được mã hóa màu.

Tiền tố --global trước các lệnh là để tránh phải nhập các lệnh cấu hình này vào lần tiếp theo chúng ta chạy dự án Git trên hệ thống của mình.

Chuẩn bị tập tin cho cam kết

Bước tiếp theo là tạo các tập tin trong thư mục. Bạn có thể sử dụng, ví dụ, văn bản Trình soạn thảo Vim. Lưu ý rằng nếu bạn định thêm Git vào thư mục hiện có, bạn không cần thực hiện bước này:


Kiểm tra trạng thái kho lưu trữ

Bây giờ chúng ta đã có một vài tệp trong kho lưu trữ của mình, hãy xem cách Git xử lý chúng. Để kiểm tra trạng thái hiện tại của kho lưu trữ, bạn cần sử dụng lệnh git status:


Thêm tệp vào Git để theo dõi

Chúng tôi không có bất kỳ tệp nào để theo dõi bằng Git vào lúc này. Chúng tôi cần thêm các tệp cụ thể vào Git để cho Git biết những gì cần theo dõi.

Thêm file bằng lệnh add:

Kiểm tra lại trạng thái kho lưu trữ, chúng ta có thể thấy rằng một tệp đã được thêm vào:


Để thêm nhiều tệp, bạn có thể sử dụng mục lệnh sau (lưu ý rằng chúng tôi đã thêm một tệp nữa cho mục đích trình diễn):

git thêm myfile2 myfile3

Bạn có thể sử dụng đệ quy git add nhưng hãy cẩn thận với lệnh này. Có một số tệp nhất định (chẳng hạn như tệp đã biên dịch) thường được lưu trữ bên ngoài kho Git.

Nếu bạn sử dụng lệnh add theo cách đệ quy, nó sẽ thêm tất cả các tệp như vậy nếu chúng tồn tại trong kho lưu trữ của bạn.

Xóa tập tin

Nhưng việc chạy một lệnh git rm đơn giản sẽ không chỉ xóa tệp khỏi Git mà còn khỏi máy tính cục bộ của bạn. hệ thống tập tin! ĐẾN

Git đã ngừng theo dõi tệp, nhưng tệp vẫn còn trên hệ thống cục bộ của bạn, hãy chạy lệnh sau:

git rm --cached

Cam kết thay đổi

Khi bạn đã lưu trữ các tệp của mình, bạn có thể chuyển chúng sang Git. Hãy coi cam kết như ghi lại một khoảnh khắc cụ thể mà bạn có thể quay lại để truy cập kho lưu trữ của mình tại thời điểm đó.

Bạn có thể đính kèm tin nhắn vào mỗi cam kết, được thêm bằng tiền tố -m:

git commit -m "Cam kết đầu tiên của tôi"


Cam kết cung cấp tin nhắn hữu ích bởi vì nó sẽ giúp bạn xác định những gì bạn đã thay đổi trong lần cam kết đó.

Tránh những tin nhắn quá chung chung như " Lỗi cố định" Nếu bạn có trình theo dõi tác vụ, bạn có thể thêm các thông báo như " Đã sửa lỗi #234».

Cách tốt nhất là sử dụng tên nhánh hoặc tên tính năng làm tiền tố cho thông báo cam kết. Ví dụ, " Quản lý tài sản: thêm chức năng tạo tập tin PDF tài sản" là một thông điệp ý nghĩa.

Git xác định các lần xác nhận bằng cách thêm một số thập lục phân dài vào mỗi lần xác nhận. Theo quy định, bạn không cần sao chép toàn bộ dòng; 5-6 ký tự đầu tiên là đủ để xác định cam kết của bạn.

Lưu ý rằng trong ảnh chụp màn hình, cam kết đầu tiên của chúng tôi được xác định bằng mã 8dd76fc.

Cam kết tiếp theo

Bây giờ hãy thay đổi một vài tệp sau lần xác nhận đầu tiên của chúng ta. Sau khi thay đổi chúng, chúng ta sẽ thấy rằng do chạy lệnh git status, Git đã phát hiện những thay đổi trong các tệp mà nó giám sát:


Bạn có thể kiểm tra các thay đổi đối với các tệp được theo dõi được thực hiện trong lần xác nhận cuối cùng bằng lệnh git diff. Nếu bạn muốn xem những thay đổi đối với tập tin cụ thể, sử dụng lệnh git diff :


Bạn cần thêm lại các tệp này để thực hiện thay đổi đối với các tệp được theo dõi cho lần chuyển tiếp tiếp theo. Bạn có thể thêm tất cả các tệp được theo dõi bằng cách chạy lệnh:

Bạn có thể tránh sử dụng lệnh này bằng cách sử dụng tiền tố -a cho lệnh git commit, lệnh này sẽ thêm tất cả thay đổi vào các tệp được theo dõi.

Tuy nhiên, quá trình này rất nguy hiểm vì nó có thể gây hại cho dự án. Ví dụ: giả sử bạn đã mở một tệp và vô tình thay đổi nó.

Nếu bạn đặt các tập tin một cách có chọn lọc, bạn sẽ nhận thấy những thay đổi trong mỗi tập tin. Nhưng nếu bạn thêm tiền tố -a vào cam kết của mình, tất cả các tệp sẽ được cam kết và bạn sẽ không thể phát hiện các lỗi có thể xảy ra.

Khi bạn đã đặt các tập tin của mình, bạn có thể bắt đầu cam kết. Tôi đã đề cập rằng mỗi cam kết có thể có một thông báo liên quan đến nó mà chúng tôi nhập bằng tiền tố -m.

Tuy nhiên, có thể nhập tin nhắn trên nhiều dòng bằng lệnh git commit, lệnh này sẽ mở ra hình thức tương tác cho việc thu âm:


Quản lý dự án

Để xem lịch sử dự án của bạn, bạn có thể chạy lệnh sau:


Điều này sẽ hiển thị toàn bộ lịch sử của dự án, là danh sách tất cả các cam kết và thông tin về chúng. Thông tin cam kết bao gồm hàm băm cam kết, tác giả, thời gian và thông báo cam kết. Ăn Các tùy chọn khác nhau git log , bạn có thể khám phá khi đã nắm vững khái niệm về nhánh trong Git.

Xem thông tin chi tiết về một cam kết cụ thể và các tệp đã được thay đổi, hãy chạy lệnh sau:

chương trình git

Ở đâu Cái này số thập lục phân, được liên kết với cam kết. Vì hướng dẫn này dành cho người mới bắt đầu nên chúng tôi sẽ không đề cập đến cách quay lại trạng thái của một cam kết cụ thể hoặc cách quản lý các nhánh.

Mã lưu trữ trên đám mây

Bây giờ bạn đã học được cách quản lý mã trên hệ thống của mình, đã đến lúc lưu trữ mã trên đám mây.

Vì Git không có máy chủ trung tâm như Subversion nên bạn cần thêm từng nguồn để tương tác với những nguồn khác. Đây là lúc khái niệm điều khiển từ xa phát huy tác dụng. phương tiện từ xa phiên bản từ xa kho lưu trữ của bạn.

Nếu muốn lưu trữ mã của mình trên đám mây, bạn có thể tạo dự án trên GitHub, GitLab hoặc BitBucket và đẩy mã hiện có của mình vào kho lưu trữ.