Staging Area Là Gì

      116
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ì nhằm commit một tập tin?2.2.Bỏ qua Staging Are để commit3.Tìm đọc thêm về trạng thái3.1.Untracked3.2.Tracked3.3.Chuyển tập tin trường đoản cú Untracked về Tracked4.Lời kết4.1.Xem tiếp bài vào serie5.Bài liên quan

Trong bài bác tạo repository mang đến Git mình bao gồm nhắc qua về các tự Staging Area với một thiên tài là commit (ủy thác), vậy hai cái này là gì thì mình vẫn phân tích và lý giải kỹ hơn trong bài xích này để chúng ta biết phương pháp áp dụng mang lại đúng.

Bạn đang xem: Staging Area Là Gì

Staging Area là gì?

Staging Area nghĩa là 1 trong Quanh Vùng mà nó sẽ tiến hành sẵn sàng mang đến quá trình commit. Trước không còn, bạn phải hiểu đúng bản chất trong số khối hệ thống cai quản phiên phiên bản (Version Control System) thì những tài liệu sẽ tiến hành tàng trữ nghỉ ngơi nhị chỗ, một là thư mục nhiều người đang thao tác làm việc trên máy vi tính (working tree, bản thân không kể lại nữa đâu) với một là kho đựng mã nguồn (repository) sau khi bạn sẽ triển khai thay đổi (ví như kho đựng trên Github).


*

Mô hình lý giải bí quyết buổi giao lưu của Staging Area.


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

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

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

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

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

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

Nếu bạn có nhu cầu commit một tập tin đó, các bạn sẽ cần được chuyển tập tin đó vào tâm lý tracked bằng lệnh git add tên_file. Trong git tất cả hai loại tinh thần chính đó là Tracked cùng Untracked, chũm thể:

Tracked – Là tập tin đã có được ghi lại theo dõi và quan sát trong Git để chúng ta thao tác với nó. Và tâm lý Tracked nó sẽ có thêm các tâm trạng prúc khác là Unmodified (chưa chỉnh sửa gì), Modified (sẽ chỉnh sửa) và Staged (đang chuẩn bị sẵn sàng nhằm commit).Untracked – Là tập tin sót lại cơ mà bạn sẽ không muốn thao tác cùng với nó vào Git.

Nhưng bạn phải nên biết rằng nếu tập tin đó đã được Tracked tuy nhiên sẽ lâm vào hoàn cảnh trạng thái (Modified) thì nó vẫn sẽ không còn thể commit được mà các bạn đề nghị chuyển nó về Staged cũng bằng lệnh git add.

Bỏ qua Staging Are để commit

Nlỗi bản thân tất cả nhắc đến ở trên là một tập tin sau khi được biến hóa tuyệt chế tác bắt đầu thì nó phải được phân phối Staging Area với lệnh git add. Tuy nhiên, bạn có thể gửi một tập tin đã có được Tracked nhằm commit cơ mà ko phải đưa nó vào Staging Area với tsi số -a trong lệnh git commit. Ví dụ: git commit -a -m "Skipped Staging Are to commit".

Xem thêm: Solicitor Là Gì ? Câu Trả Lời Không Đơn Giản Như Bạn Nghĩ Sự Khác Nhau Giữa Solicitor

Tìm đọc 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 bạn tạo nên hoặc thêm vào trong 1 tập tin bắt đầu vào vào tlỗi mục thao tác của bạn thì nó đã nghỉ ngơi tâm lý Untracked. Bây giờ bản thân thử tạo thành một tập tin new thương hiệu là faq.html, tiếp nối dùng lệnh git status để thấy tâm trạng của Git vào 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 ..." khổng lồ 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 rỗng.

Bây tiếng bạn sẽ thấy nó vẫn liệt kê ra tên tập tin đang sinh sống tinh thần Untracked. Để chuyển nó về Tracked các bạn sẽ sử dụng lệnh git add cùng xem lại tâm lý của nó.

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

Bây giờ chúng ta thấy, tập tin faq.html của chính bản thân mình đã có được mang về trạng thái Staged và nó có thể được commit. Tại sao? Vì chúng ta phải biết rằng giả dụ một tập tin vào tâm trạng Untracked nhưng mà được mang về Tracked thì nó đang nằm ở tâm trạng Staged luôn luôn, trừ khi chúng ta chuyển đổi nội dung tập tin này thì nó sẽ đem đến tâm trạng Modified và nó quan yếu commit trừ khi chúng ta gõ lệnh git add mang lại nó.

Tracked

Một lúc một tập tin đã làm được mang lại Tracked thì nó đã có thể biến hóa thân 3 tâm lý khác biệt là Modified, Unmodified với Staged.

Trước hết bây chừ tôi đã tất cả một tập tin new đã được đem lại Staged với lệnh git add như ví dụ bên trên. Bây giờ đồng hồ mình triển khai biến hóa nội dung của tập tin faq.html này với coi tác dụng của lệnh git status.

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

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

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

Trong Git, bạn có thể gửi một tập tin từ Tracked về Untracked với lệnh rm tên_file. Lệnh rm sẽ giúp chúng ta gửi tập tin về tâm lý Untracked tuy nhiên ko 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 discard changes in working directory)deleted: faq.html

Còn ví như 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à ghi nhớ cẩn thận khi dùng lệnh này.

Lời kết

cũng có thể các bạn sẽ thấy gần như gì mình nói trong bài này tương đối nhiều năm nhưng sẽ là phần lớn kỹ năng hết sức cơ phiên bản về Git nhưng mà bạn phải gắng có thể bởi vì nếu như khách hàng không hiểu vòng đời những trang thái của một tập tin vào Git thì chắc chắn là về sau Khi thao tác làm việc bạn sẽ bồn chồn lúc gõ lệnh git commit và cứ đọng hỏi tại sao lại ko commit được do mong commit được các bạn sẽ phải gửi nó về tinh thần phù hợp, Tức là tâm trạng Staged.


Xem tiếp bài bác trong seriePhần trước: Cách sinh sản một repositoryPhần kế tiếp: Git Log với Unbởi Commit

Bài liên quan

Cách chế tác một repository Cài đặt Git và tùy chỉnh ban đầu Branch – Kỹ thuật phân nhánh Đánh vết commit cùng với Tag Giới thiệu serie Git cơ bản Git Log cùng Unbởi vì Commit

Content retrieved from: https://thachpsi.com/tools/hieu-them-ve-commit-va-staging-area-git.html" target="_blank"> https://thachpđắm đuối.com/tools/hieu-them-ve-commit-va-staging-area-git.html.