• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Git: Undo change in working directory and staging area

Thảo luận về các vấn đề Công Nghệ Thông Tin chung: tin tức, công nghệ mới...

Moderator: Điều hành

thetvbytesoft
Thành viên chính thức
Thành viên chính thức
Posts: 11
Joined: Wed 15/05/2019 9:51 am

Git: Undo change in working directory and staging area

Postby thetvbytesoft » Sat 09/11/2019 8:53 am

Như đã giới thiệu cho bạn cách undo change (quay lui thay đổi) các commit ở local repo. Vậy trong bài viết lần này, chúng tôi xin giới thiệu cách undo change ở staging area và working directory

Image

1. Undo change in staging area

Ở một số trường hợp, ghi chạy lệnh git add sẽ đẩy file từ working directory vào staging area để chuẩn bị commit, chúng ta nghĩ lại và nhận ra có một số file cần được sửa thêm trước khi commit, do đó cần phải gỡ nó ra khỏi staging area.

Xem thêm: lập trình ứng dụng

Ví dụ, vẫn với repo tôi dùng ở bài viết trước, tôi tạo 2 file style.css và script.js và add vào staging, sau đó kiểm tra trạng thái repo:

Xem thêm: ngôn ngữ lập trình web

Các bạn có thể thấy 2 file đều đã được thêm vào staging area

Xem thêm: lập trình website

Giờ tôi kiểm tra lại và thấy file script.js còn một số lỗi cần sửa, tôi muốn đưa nó ra khỏi vùng staging area để quay về working directory. Tôi chạy lệnh sau:

sau đó kiểm tra trạng thái repo bằng git status:

Các bạn có thể thấy file script.js đã được đưa ra khỏi staging area. Nếu chúng ta thực hiện lệnh git commit, sẽ chỉ có file style.css được commit vào local repo

2. Undo change in working directory

Nói một cách chính xác thì tôi sẽ undo change với những untracked files, tức là những file chưa được thêm vào staging area. Và với Git, undo untracked files đồng nghĩa với việc xoá sạch những file đó ra khỏi thư mục :v. Vì thế, hãy cân nhắc thật kĩ trước khi quyết định undo

Hiện tại repo của tôi đang có 1 untracked file là script.js. Tuy nhiên thì để cho chắc ăn, tôi sẽ xem Git sẽ undo (xoá) những file nào trong thư mục đi bằng lệnh sau:

Như vậy, khi undo (xoá) các untracked files ra khỏi thư mục, git sẽ xoá file script.js đi.

Sau khi đã thực sự chắc chắn rằng cần phải xoá file script.js đi, tôi sẽ chạy lệnh sau:

Như vậy, trong bài viết này tôi đã giới thiệu 2 lệnh để undo changes ở staging area và working directory:

- git reset HEAD <đường-dẫn-file>: Đưa file từ staging area về working directory

- git clean -f: Xoá các untracked files



Return to “Các vấn đề CNTT khác”

Who is online

Users browsing this forum: No registered users and 0 guests