Các file bị ignore bị xóa sau khi checkout branch, chuyện gì đã xảy ra?

  • Master gồm: file A, B
  • ignore: A.
  1. git branch newbranch
  2. git checkout newbranch
  3. bỏ ignore file A.
  4. sửa file A -> commit.
  5. checkout master
    result: file A biến mất ở branch master

M.n cho em hỏi nó đã chạy như thế nào vậy ạ?

Vì bạn đã ignore (lờ đi) nó ở master. Bạn checkout sang newbranch rồi commit A thì nó sẽ ở bên nhánh này. Sau đó Bạn checkout ngược lại master thì file A là ở bên nhánh master và bị ingore lúc trước (do đó git không thay đổi theo dõi của A). Nếu bạn muốn file A quay trở lại master thì merge newbranch.

em nghĩ em cần hiểu hơn về khái niệm “theo dõi”
Vì khi ở branch master thì nó là không theo dõi rồi, nó khác gì với “không theo dõi” khi checkout branch ạ? sao nó lại xóa đi ở master.
nó đã so sánh gì giữa working dir , index, local ạ?
e tưởng file ở branch “newbranch” là khác với bên master :-?

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?