Staging area là gì

1.Staging Area là gì?2.Commit là gì cùng nó vận động ra sao?2.1.Điều khiếu nại gì để commit một tập tin?2.2.Bỏ qua Staging Are nhằm commit3.Tìm hiểu thêm về trạng thái3.1.Untracked3.2.Tracked3.3.Chuyển tập tin từ Untracked về Tracked4.Lời kết4.1.Xem tiếp bài vào serie5.Bài liên quan

Trong bài tạo ra repository mang lại Git bản thân gồm kể qua về nhiều trường đoản cú Staging Area cùng một kỹ năng là commit (ủy thác), vậy nhị đặc điểm này là gì thì mình sẽ lý giải kỹ hơn trong bài bác này để các bạn biết phương pháp thực hiện mang lại đúng.

Bạn đang xem: Staging area là gì

Staging Area là gì?

Staging Area nghĩa là 1 trong những Quanh Vùng mà nó sẽ tiến hành sẵn sàng mang đến quá trình commit. Trước hết, bạn phải hiểu rõ rằng trong các hệ thống thống trị phiên phiên bản (Version Control System) thì những tài liệu sẽ được lưu trữ sinh sống nhị địa điểm, một là thỏng mục bạn đang làm việc bên trên laptop (working tree, mình không nhắc lại nữa đâu) và một là kho đựng mã mối cung cấp (repository) sau khi chúng ta đang thực hiện biến đổi (ví như kho cất bên trên Github).


*

Mô hình lý giải phương pháp hoạt động vui chơi của Staging Area.


Và để mang một tập tin vào Staging Area thì các bạn sẽ rất cần phải sử dụng lệnh git add tên_file mà tôi đã bao gồm ví dụ tại vị trí trước.

Commit là gì với nó hoạt động ra sao?

Hiểu đơn giản dễ dàng hơn, commit nghĩa là một hành động nhằm Git lưu lại một phiên bản chụp (snapshot) của những sự thay đổi vào thỏng mục làm việc, cùng những tập tin và thỏng mục được biến đổi sẽ phải nằm trong Staging Area. Mỗi lần commit nó sẽ tiến hành bảo quản lịch sử dân tộc chỉnh sửa của mã nguồn hẳn nhiên thương hiệu và xúc tiến email của tín đồ commit. Bên cạnh đó trong Git chúng ta có thể Phục hồi lại tập tin trong lịch sử commit của nó để phân tách cho một phân nhánh (branch) không giống, đây là chủ yếu của việc các bạn sẽ thuận tiện phục sinh lại những thay đổi trước này mà mình có ra mắt qua ở đoạn ra mắt serie này.

Và tất yếu, lệnh commit vào Git vẫn là git commit -m "Lời nhắn".

Và nếu bạn mong chuyển tập tin lên repository thì các bạn đề xuất commit nó trước rồi tiếp nối lệnh git push origin master sẽ sở hữu trọng trách đưa toàn cục những tập tin đã làm được commit lên repository.

Điều kiện gì để commit một tập tin?

Nếu bạn có nhu cầu commit một tập tin kia, các bạn sẽ cần phải đưa tập tin đó vào tinh thần tracked bởi lệnh git add tên_tệp tin. Trong git có nhì các loại tâm lý chính chính là Tracked với Untracked, núm thể:

Tracked – Là tập tin đã được khắc ghi theo dõi và quan sát trong Git để bạn làm việc với nó. Và tinh thần Tracked nó sẽ sở hữu được thêm các tinh thần phú khác là Unmodified (chưa sửa đổi gì), Modified (đang chỉnh sửa) cùng Staged (đã chuẩn bị để commit).Untracked – Là tập tin sót lại nhưng mà bạn sẽ không muốn thao tác với nó trong Git.

Nhưng chúng ta phải nên tìm hiểu rằng trường hợp tập tin này đã được Tracked dẫu vậy đang rơi vào tâm lý (Modified) thì nó vẫn sẽ không còn thể commit được mà bạn bắt buộc đưa nó về Staged cũng bằng lệnh git add.

Bỏ qua Staging Are nhằm commit

Nlỗi mình gồm nói ở trên là 1 tập tin sau khi được thay đổi tuyệt tạo thành mới thì nó yêu cầu được sản xuất Staging Area cùng với lệnh git add. Tuy nhiên, chúng ta cũng có thể chuyển một tập tin đã có được Tracked để commit cơ mà không đề nghị đưa nó vào Staging Area cùng với tham mê số -a trong lệnh git commit. Ví dụ: git commit -a -m "Skipped Staging Are to commit".

Xem thêm: (100% Working)Free Microsoft Office 2013 Product Key Generator {Crack Download}

Tìm gọi thêm về trạng thái


*

Vòng hóng trạng thái của những tập tin


Untracked

Nếu chúng ta tạo nên hoặc thêm vào một tập tin bắt đầu vào vào thỏng mục làm việc của khách hàng thì nó sẽ nghỉ ngơi trạng thái Untracked. Bây giờ đồng hồ mình demo tạo nên một tập tin bắt đầu thương hiệu là faq.html, kế tiếp dùng lệnh git status giúp xem tinh thần của Git trong thỏng mục làm việc.

$ touch faq.html $ git status On branch master Your branch is up-to-date with "origin/master". Untracked files: (use "git add ..." to lớn include in what will be committed) faq.html nothing added khổng lồ commit but untracked files present (use "git add" to lớn track)

Note: Lệnh touch là tạo ra một tập tin trống rỗng.

Bây tiếng bạn sẽ thấy nó vẫn liệt kê ra thương hiệu tập tin vẫn nghỉ ngơi trạng thái Untracked. Để đưa nó về Tracked bạn sẽ thực hiện lệnh git add cùng xem lại tinh thần của nó.

$ git add faq.html $ git status On branch master Your branch is up-to-date with "origin/master". Changes khổng lồ be committed: (use "git reset HEAD ..." to lớn unstage) new file: faq.html

Bây giờ đồng hồ các bạn thấy, tập tin faq.html của chính bản thân mình đã có đưa về tâm lý Staged với nó có thể được commit. Tại sao? Vì các bạn phải biết rằng nếu như một tập tin trên tâm trạng Untracked cơ mà được đem lại Tracked thì nó vẫn nằm tại tinh thần Staged luôn, trừ khi chúng ta chuyển đổi nội dung tập tin này thì nó đã đem về tâm trạng Modified và nó thiết yếu commit trừ khi chúng ta gõ lệnh git add đến nó.

Tracked

Một lúc 1 tập tin đã làm được đem lại Tracked thì nó đã rất có thể chuyển đổi thân 3 trạng thái không giống nhau là Modified, UnmodifiedStaged.

Trước hết bây giờ mình đã bao gồm một tập tin mới đã có được mang về Staged với lệnh git add nhỏng ví dụ trên. Bây tiếng bản thân tiến hành biến đổi ngôn từ của tập tin faq.html này cùng coi kết quả của lệnh git status.

$ git status On branch master Your branch is up-to-date with "origin/master". Changes khổng lồ be committed: (use "git rephối HEAD ..." to unstage) new file: faq.html Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) modified: faq.html

quý khách gồm thấy sự kỳ lạ nghỉ ngơi tập tin faq.html không? Đó là nó được hiển thị sống nhì trạng thái Staged (rất có thể commit) cùng Modified (không thể commit) tốt có cách gọi khác là Unstaged. Sngơi nghỉ dĩ gồm sự kỳ dị đó làm việc đấy là cũng chính vì trước kia bạn đang tạo thành tập tin faq.html với mang lại Tracked thì nó cũng đã được đem lại Staged để rất có thể commit. Tuy nhiên tiếp nối các bạn lại sửa đổi nội dung của nó cho nên nó sẽ bao gồm một phiên bản khác nằm tại vị trí tinh thần Modified (tất yêu commit). Nếu bây giờ bạn gõ lệnh git commit để ủy thác nó thì phiên bản chụp của tập tin faq.html sinh sống lần sau cuối các bạn gõ lệnh git add sẽ được commit lên chứ đọng nó không chứa các văn bản nhưng chúng ta vừa cung ứng. Và để nó rất có thể commit tập tin faq.html đã có chỉnh sửa thì các bạn buộc phải gõ lại lệnh git add faq.html đợt tiếp nhữa.

Chuyển tập tin từ Untracked về Tracked

Trong Git, chúng ta cũng có thể chuyển một tập tin trường đoản cú Tracked về Untracked cùng với lệnh rm tên_tệp tin. Lệnh rm để giúp đỡ chúng ta đưa tập tin về tinh thần Untracked cơ mà không xóa hẳn trong ổ cứng.

$ rm faq.html $ git status On branch master Your branch is up-to-date with "origin/master".Changes not staged for commit: (use "git add/rm ..." khổng lồ update what will be committed) (use "git checkout -- ..." to disthẻ changes in working directory)deleted: faq.html

Còn giả dụ bạn có nhu cầu xóa nó luôn luôn thì cần sử dụng lệnh git rm -f tên_file và lưu giữ cẩn thận khi sử dụng lệnh này.

Lời kết

cũng có thể bạn sẽ thấy hồ hết gì bản thân nói vào bài này khá lâu năm tuy thế sẽ là gần như kiến thức siêu cơ phiên bản về Git cơ mà bạn phải cụ chắc hẳn do nếu khách hàng thiếu hiểu biết nhiều vòng đời các trang thái của một tập tin vào Git thì chắc hẳn rằng sau này Khi thao tác làm việc bạn sẽ bối rối khi gõ lệnh git commit và cđọng hỏi tại sao lại không commit được vày mong mỏi commit được các bạn sẽ nên đưa nó về tâm trạng tương thích, có nghĩa là tâm trạng Staged.

Xem thêm: (100% Working)Free Microsoft Office 2013 Product Key Free For You


Xem tiếp bài vào seriePhần trước: Cách chế tạo một repositoryPhần kế tiếp: Git Log cùng Unvày Commit

Bài liên quan

Cách tạo nên một repository Cài đặt Git và thiết lập ban đầu Branch – Kỹ thuật phân nhánh Đánh lốt commit với Tag Giới thiệu serie Git cơ bản Git Log và Unvày Commit

Content retrieved from: https://thachpham mê.com/tools/hieu-them-ve-commit-va-staging-area-git.html" target="_blank"> https://thachpmê say.com/tools/hieu-them-ve-commit-va-staging-area-git.html.