Git - cách xóa tệp khỏi kho lưu trữ từ xa


82

Làm cách nào để xóa tệp khỏi kho lưu trữ git từ xa? Tôi có một tệp vừa bị xóa khỏi kho lưu trữ cục bộ sao chép đang hoạt động và tôi muốn xóa nó khỏi kho lưu trữ từ xa tương ứng

Câu trả lời:


110

Nếu bạn đã xóa một tệp khỏi cây làm việc, thì hãy thực hiện việc xóa:

git commit -a -m "A file was deleted"

Và đẩy cam kết của bạn ngược dòng:

git push

6
hoặcgit commit -am "A file was deleted"
Malloc

3
Còn việc xóa nó khỏi một nguồn từ xa thì sao? Trong trường hợp của tôi, tôi đã xóa các tệp cục bộ nhưng cũng đồng thời thêm chúng vào danh sách bỏ qua git, vì vậy khi tôi đẩy cam kết qua các tệp từ xa vẫn ở trong kho lưu trữ vì chúng không bị theo dõi nữa.
Nathan Hornby

1
Trước khi xóa bất kỳ tệp không mong muốn nào, hãy đảm bảo rằng chúng không được liệt kê trong .gitignore. Bây giờ hãy di chuyển hoặc xóa các tệp ra khỏi cây nguồn mà bạn không còn muốn trên nhánh của mình nữa. Sau đó thực hiện: git add ., git status(để xem xét), git commit -m "removed files X,Y,Z"và sau đó thêm chúng trở lại của mình .gitignorevì vậy họ không bao giờ chui vào nguồn của bạn bao giờ trở lại.
ecoe

45

Sử dụng các lệnh:

git rm /path to file name /

theo dõi bởi

git commit -m "Your Comment"

git push

các tệp của bạn sẽ bị xóa khỏi kho lưu trữ


1
Chỉ trong trường hợp có ai đó muốn xóa tất cả các tệp khỏi thư mục, hãy sử dụng -rtùy chọn cho đệ quy. Vì vậy, lệnh sẽ giống như git rm -r /path-to-file-name/sau đó thực hiện commitpushnhư đã đề cập trong câu trả lời ở trên.
Kunal Dethe

19
  1. Nếu bạn muốn đẩy tệp đã xóa sang điều khiển từ xa

git add 'deleted file name'

git commit -m'message'

git push -u origin branch

  1. Nếu bạn muốn xóa một tập tin từ xa và cục bộ

git rm 'file name'

git commit -m'message'

git push -u origin branch

  1. Nếu bạn chỉ muốn xóa một tập tin từ xa

git rm --cached 'file name'

git commit -m'message'

git push -u origin branch


18

Một cách đơn giản hơn

git add . -A
git commit -m "Deleted some files..."
git push origin master

-Cập nhật chỉ mục không chỉ nơi cây làm việc có tệp phù hợp mà còn ở nơi chỉ mục đã có mục nhập. Điều này thêm, sửa đổi và loại bỏ các mục nhập chỉ mục để phù hợp với cây làm việc. Lấy từ ( http://git-scm.com/docs/git-add )


6

Nếu bạn đã đẩy một tệp hoặc thư mục trước khi nó ở dạng .gitignore (hoặc không có .gitignore):

  • Nhận xét nó từ .gitignore
  • Thêm nó trở lại hệ thống tệp
  • Xóa nó khỏi thư mục
  • git thêm tệp của bạn && cam kết nó
  • git push

3

nếu bạn chỉ cam kết tệp đã xóa của mình và đẩy. Sau đó, nó sẽ được xóa khỏi repo từ xa.


3

Nếu bạn đã xóa nhiều tệp và thư mục, chỉ cần làm điều này

git commit -a -m .
git push

1

Giải pháp xóa tệp kho lưu trữ Git Remote đơn giản:

git commit (tên tệp có đường dẫn mà bạn muốn xóa) -m "tệp đã bị xóa"

git push

Nó sẽ hoạt động. Bạn cũng có thể xóa nhiều tệp chọn lọc trong kho lưu trữ từ xa theo cách tương tự.


1

Mã Visual Studio:

Xóa các tệp khỏi dạng xem Explorer của bạn . Bạn thấy chúng bị gạch chéo trong chế độ xem Chi nhánh của mình . Sau đó cam kết và đồng bộ hóa.

nhập mô tả hình ảnh ở đây

Lưu ý: Nếu các tệp nằm trong danh sách .gitignore của bạn, thì "cập nhật" xóa sẽ không được đẩy và do đó không hiển thị. Tuy nhiên, VS Code sẽ cảnh báo bạn nếu trường hợp này xảy ra. -> Tạm thời loại trừ các tệp / thư mục khỏi gitignore.


0

Điều dễ dàng nhất để làm là tạm thời di chuyển tệp khỏi thư mục cục bộ của bạn, sau đó thực hiện các thay đổi đối với repo từ xa của bạn. Sau đó, thêm nó trở lại repo cục bộ của bạn, đảm bảo cập nhật .gitignore để nó không cam kết từ xa nữa

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.