2009-07-15 26 views
11

tôi nhận được git-trạng thái ở ~/bin:Không thể Git-thêm với lực lượng

# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
#  screen/dev/ 

tôi chạy

git add --force screen/dev/ 

Tôi nhận được cùng một git-tình trạng như trước đây. Tôi thêm từng tệp trong thư mục một cách độc lập, nhưng tôi nhận được cùng một trạng thái git.

Không có .git trong màn hình/dev /. Thư mục có vẻ không phải là một sumbodule.

Làm cách nào bạn có thể thêm thư mục và nội dung của thư mục với lực vào git của tôi tại ~/bin?

+2

Bạn có thể sao chép điều này bằng kho Git mới, bắt đầu từ "git init" không? –

+0

@Greg: Tôi không thể tạo lại vấn đề với kho lưu trữ Git mới, mặc dù tôi giữ nguyên tên chính xác trong cấu trúc tệp. --- Điều này gợi ý cho tôi rằng phải có một số tập tin trong repo của tôi thao túng màn hình thư mục/dev –

Trả lời

8

Sự cố có thể được giải quyết bằng cách đổi tên thư mục và thêm thư mục có tên mới vào Git.

Điều này cho thấy tôi phải có một số tệp thao tác với tên thư mục dev.

4

Đó có phải là lỗi đánh máy khi cắt không?

Nếu không, nó phải là

git add --force screen/dev 
+0

Cảm ơn bạn đã chỉ ra điều đó! - Tôi đã sửa nó trong bài đăng. –

8

Bạn không nên cần '--force' hoặc '-f' tùy chọn: xem git add:

-f
--force:

Cho phép thêm khác bỏ qua tệp.

Trong trường hợp của bạn, bạn có thể không muốn thêm tất cả các tệp, bao gồm các tệp bị bỏ qua trong thư mục screen/dev.

git add screen/dev 

nên đủ (không có tùy chọn hoặc chấm dứt '/')

+0

Vấn đề tương tự cũng xảy ra mà không có '/'. –

4

Cố gắng thực hiện:

git add -A . 

Ngoài ra, nếu bạn có một tập tin .gitignore nó cũng có thể rằng bạn đang vô tình bỏ qua một cái gì đó (ví dụ: có thể là các tệp bạn đang cố gắng thêm).

+0

Vấn đề tương tự cũng xảy ra sau khi chạy lệnh của bạn. Tôi không có thư mục tại .gitignore -files. –

+0

Lệnh này không có ý nghĩa. '-A' và' .' làm tương tự. Không có lý do gì để kết hợp cả hai. Xem tại đây: https://stackoverflow.com/questions/572549/difference-between-git-add-a-and-git-add?rq=1 – Solidak

0

Nếu không có gì hoạt động ...

  • Move thư mục cứng đầu đến một vị trí tạm thời ngoài repo
  • Hủy bỏ bất kỳ dấu vết còn lại của thư mục cứng đầu trong repo
  • Đẩy và chắc chắn rằng địa phương được đồng bộ hóa với điều khiển từ xa
  • Di chuyển thư mục cứng đầu từ vị trí tạm thời trở lại repo (Bạn không phải đổi tên)
  • git add -A
  • Cam kết và đẩy
Các vấn đề liên quan