Git: Undo change in working directory and staging area

Thảo luận trong 'Các rao vặt khác' bắt đầu bởi tranvanthe92cd, 9 Tháng mười một 2019.

  1. tranvanthe92cd

    tranvanthe92cd Member Thành viên Bị Cảnh Cáo

    Bài viết:
    239
    Đã được thích:
    0
    Diendanraovataz.net - Diễn đàn rao vặt - Đăng tin mua bán - Quảng cáo miễn phí - Hiệu quả - 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

    [​IMG]

    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.

    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:

    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
     
    Cùng đọc NỘI QUY DIỄN ĐÀN và ý thức thực hiện cùng BQT xây dựng cộng đồng thêm vững mạnh bạn nhé
    ***** Xin đừng Spam vì một diễn đàn trong sạch *****
Địa chỉ thu mua do cu ho chi minh uy tín, Official Premium Account Reseller Premiumkeystore.com Easily, Instant delivery & Trusted.

Chia sẻ trang này