2011-01-12 30 views
13

Tôi đang tìm cách di chuyển một thư mục để nó nằm trong một thư mục khác. Ví dụ:Di chuyển một tệp vào một thư mục mới, giữ lịch sử Git

Hiện tại:/folder1, được chuyển đến/holder/folder1.

Cách dễ nhất để thực hiện điều này trên cả máy chủ (Mac) và git của mình là gì để đảm bảo rằng tất cả lịch sử của các tệp trong thư mục đó vẫn còn trên github.

Xin lỗi vì câu hỏi newb. Tôi chỉ có một kiến ​​thức làm việc rất cơ bản về git, và muốn giữ điều này càng đơn giản càng tốt.

Cảm ơn!

+1

Thư mục nguồn và đích có nằm trong cùng một kho lưu trữ git hiện có không? Có vẻ như họ sẽ ở trong ví dụ của bạn; nếu không, thì phức tạp hơn một câu hỏi. – Cascabel

+0

Jefromi, có, chúng đều nằm trong cùng một kho lưu trữ. Tôi chỉ muốn hợp nhất một vài thư mục trong một thư mục mới. (Di chuyển chúng một cấp độ xa hơn từ gốc) –

Trả lời

18

Từ tài liệu git,

git mv [-f] [-n] <source> <destination> 
git mv [-f] [-n] [-k] <source> ... <destination directory> 

Trong hình thức đầu tiên, nó đổi tên, mà phải tồn tại và là một trong hai một tập tin, liên kết tượng trưng hoặc thư mục, để. Trong biểu mẫu thứ hai, đối số cuối cùng phải là một thư mục hiện có; các nguồn đã cho sẽ được chuyển vào thư mục này.

Chỉ mục được cập nhật sau khi hoàn tất thành công, nhưng thay đổi vẫn phải được thực hiện.

+0

Vì vậy, tôi sẽ sử dụng git mv nguồn ... dest thư mục, nơi dest thư mục là một thư mục hiện có, sau đó cam kết, và thực hiện? Điều này sẽ di chuyển các tập tin trên máy địa phương của tôi là tốt? Cảm ơn vì phản hồi kịp thời của bạn. –

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