Để tạo một kho lưu trữ Git mới từ một kho lưu trữ hiện có, người ta thường tạo một kho lưu trữ trống mới và đẩy một hoặc nhiều nhánh từ kho hiện có sang kho mới.
Các bước sau minh họa điều này:
Tạo một kho lưu trữ mới. Nó phải để trần để bạn có thể đẩy tới nó.
$ mkdir /path/to/new_repo
$ cd /path/to/new_repo
$ git --bare init
Lưu ý : đảm bảo rằng kho lưu trữ mới của bạn có thể truy cập được từ kho lưu trữ hiện có. Có rất nhiều cách để làm điều này; giả sử rằng bạn đã làm cho nó có thể truy cập được qua ssh://my_host/new_repo
.
Đẩy một nhánh từ kho lưu trữ hiện có của bạn. Ví dụ, giả sử chúng ta muốn đẩy chi nhánh topic1
từ kho lưu trữ hiện có và đặt tên nó master
trong kho lưu trữ mới.
$ cd /path/to/existing_repo
$ git push ssh://my_host/new_repo +topic1:master
Kỹ thuật này cho phép bạn giữ lịch sử từ nhánh hiện có.
Lưu ý: kho lưu trữ mới thực sự là một kho lưu trữ từ xa mới . Nếu bạn muốn làm việc với kho lưu trữ mới, bạn phải sao chép nó. Điều sau sẽ sao chép repo mới vào một thư mục làm việc cục bộ có tên new_repo
:
$ git clone ssh://my_host/new_repo
Trong ví dụ này, khi bạn sao chép kho lưu trữ mới, bạn sẽ thấy rằng master
nhánh là bản sao của topic1
nhánh của kho lưu trữ cũ.
git remote add origin ssh://my_host/new_repo
. Bằng cách này, bạn chỉ cần làm mộtgit push origin [branchname]
. Khi sử dụng filepathes UNC (ví windowsshares chẳng hạn), hãy chắc chắn để nhập thêm nguồn gốc từ xa đối với họ như thế này:git remote add origin "//server_name/myapp/"