2015-04-17 15 views
6

Tôi đã gặp phải một số sự cố khi gửi tệp cho GitHub. Tôi có thể làm cho nó để git thêm, nhưng ngay sau khi tôi thử $ git commit -m 'my message' Tôi nhận được một lỗi, không cho phép tôi để hoàn thành quá trình thêm một tập tin.Tại sao tôi không thể cam kết? (Chi nhánh của bạn được cập nhật với 'origin/master', không có thay đổi nào được thêm vào cam kết)

$ git add HelloWorld.md 

$ git commit -m 'Hello world' 

tôi nhận được câu trả lời sau (xóa: README.md & .DS_Store là màu đỏ):

On branch master 

Your branch is up-to-date with 'origin/master'. 

Changes not staged for commit: 
     deleted: README.md 

Untracked files: 
     .DS_Store 

no changes added to commit 
+0

hãy thử với điều này, chỉ cần biết '$ git rm README.md $ git rm.DS_Store git $ commit -m "xóa tệp" $ git push -u origin master' – Ethaan

+0

'git diff - HelloWorld.md' cho bạn biết điều gì? – Jubobs

+0

git rm README.mdfatal: pathspec 'README.md' không khớp với bất kỳ tệp nào – imasnake

Trả lời

1

Rõ ràng bạn không thay đổi bất cứ điều gì trong file HelloWorld.md (hoặc nó không tồn tại tất cả), vì vậy không có gì để cam kết. Nếu bạn chỉ muốn thêm tệp "trống", trước tiên hãy đảm bảo là touch HelloWorld.md, vì vậy tệp thực sự được tạo. Nếu nó tồn tại, hãy chỉnh sửa nó (sử dụng ví dụ vim HelloWorld.md) và đảm bảo lưu các thay đổi trong trình chỉnh sửa của bạn khi bạn hoàn tất.

Khi bạn đã thực hiện điều đó và có những thay đổi thực sự đối với tệp, bạn sẽ có thể cam kết.

+1

Trong mọi khả năng, 'HelloWorld.md' tồn tại, bởi vì, nếu nó không tồn tại và bạn chạy' git add HelloWorld.md', bạn sẽ gặp phải lỗi sau: 'fatal: pathspec 'HelloWorld.md' không tồn tại khớp với bất kỳ tệp nào'. Điều đó nói rằng, có lẽ OP đã nhận được nó và quên đề cập đến nó trong câu hỏi của mình. – Jubobs

+0

'HelloWorld.md' không tồn tại. Một trong những vấn đề chính có thể là 'Nhánh của bạn được cập nhật với' origin/master'' - Tôi chưa thấy thông báo này trước đây. – imasnake

1

Bạn không có gì để cam kết. Cụ thể hơn:

  • README.md là tệp được theo dõi nhưng bạn đã xóa mà không sử dụng git rm README.md. Git phát hiện rằng tệp đã bị xóa, nhưng bạn vẫn phải xóa giai đoạn nếu bạn muốn tệp sau có hiệu lực trong lần commit tiếp theo.
  • .DS_Store là tệp không được theo dõi; như vậy, nó không thể là một phần của cam kết tiếp theo. (Bằng cách này, you should ignore such files globally.)
  • git add HelloWorld.md không có hiệu lực: tệp đang được Git theo dõi, nhưng không có gì để đặt ở đó, vì bạn chưa thực hiện bất kỳ thay đổi nào kể từ lần commit cuối cùng.

    Tôi làm cách nào để biết? Nếu HelloWorld.md là một tệp trước đó không được theo dõi hoặc nếu đó là một tệp được theo dõi mà bạn đã thay đổi kể từ lần commit cuối cùng, thì git add HelloWorld.md sẽ thực hiện thành công các thay đổi đó; sẽ có một cái gì đó để cam kết, và bạn đã có thể thành công.

Thực hiện một số thay đổi, đặt giai đoạn và sau đó bạn sẽ có thể cam kết. Cuối cùng,

Your branch is up-to-date with 'origin/master'

đơn giản có nghĩa

You haven't created any commits on master since you pushed to origin/master .

Không có gì để lo lắng về.

+0

Cảm ơn bạn đã thông tin! Tôi đã tìm thấy giải pháp không phải mã chỉ bằng cách xóa toàn bộ tệp và bắt đầu lại .. – imasnake

3

Nếu bạn thay đổi tệp nhưng vẫn không có gì để cam kết, có thể bạn không thêm tệp vào git. (hoặc thay thế nó sau khi thêm). Cố gắng bổ sung thêm file trước khi cam kết:

git add filename.ext 

Hoặc đơn giản là thêm toàn bộ thư mục: 'git add'

git add . 
0

đã làm việc cho tôi vì cùng một vấn đề.

Các vấn đề liên quan