Có phải chạy git init hai lần khởi tạo một kho lưu trữ hoặc khởi tạo lại một repo hiện có?


164

Điều gì xảy ra với một kho git hiện có khi bạn phát hành git initlại?

Tôi đã tạo một kho lưu trữ với git init. Tạo một tập tin, thêm, cam kết. Kiểm tra trạng thái (không có gì để cam kết). Sau đó, tạo một tệp khác, kiểm tra trạng thái và tôi có thể thấy nó không bị theo dõi như mong đợi.

Sau đó, do nhầm lẫn, tôi chạy git initlại và tôi nhận được thông báo kho lưu trữ Git hiện có của Reinitialise .

Đã thử git status, nhưng nó cho thấy như vậy. Vậy điều gì thực sự xảy ra?

Có thể xác định lại một kho lưu trữ git hiện có theo cách này có hại hay hữu ích không? Tại sao chúng ta có thể git initbên trong một kho lưu trữ hiện có?


FWIW sử dụng Xcode lần đầu tiên tôi tạo kho lưu trữ cục bộ lần đầu tiên , sau đó khi tôi đến Github.com để tạo một kho lưu trữ từ xa mới. Mà tôi đã làm, sau đó để liên kết kho lưu trữ cục bộ của tôi với điều khiển từ xa ... Tôi đã làm theo các bước của nó (được cung cấp trên Github.com), bước đầu tiên là git inittôi đã làm. Có lẽ đó là lần thứ 2 sau khi Xcode tự động tạo ra nó
Honey

Câu trả lời:


208

Từ các tài liệu git :

Chạy git init trong kho lưu trữ hiện có là an toàn. Nó sẽ không ghi đè lên những thứ đã có. Lý do chính cho việc khởi chạy lại git init là chọn các mẫu mới được thêm vào.


110

Điều này được mô tả trong git inittài liệu:

Chạy git init trong kho lưu trữ hiện có là an toàn. Nó sẽ không ghi đè lên những thứ đã có. Lý do chính cho việc khởi chạy lại git init là chọn các mẫu mới được thêm vào.


47

Kể từ v1.7.5 ( b57fb80a7 ), git inittrong một repo hiện có cũng đã cho phép di chuyển .gitthư mục:

Lý do chính để chạy lại 'git init' là chọn các mẫu mới được thêm vào (hoặc để di chuyển kho lưu trữ đến một nơi khác nếu --separate-git-dir được đưa ra).

'Chọn các mẫu mới được thêm vào' có nghĩa là mọi mẫu chưa được sao chép từ thư mục mẫu sẽ được sao chép vào thư mục git hiện có.

'Di chuyển kho lưu trữ đến nơi khác' có nghĩa là, nếu --separate-git-dirtrỏ đến một nơi khác, .gitthư mục hiện tại sẽ được chuyển đến đó và được thay thế bằng một liên kết.


-1

điều đó có nghĩa là bạn đã khởi tạo git. bởi vì bạn đã tải lên một tệp trên github từ đường dẫn này. bạn kiểm tra đường dẫn sau đó một thư mục được tạo theo tên của .git. Đó là lý do tại sao bạn không yêu cầu lại với git khởi tạo. bạn có thể đi đến bước tiếp theo

git thêm.

Thư mục Git

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.