Có một lá cờ để vượt qua git
khi thực hiện một bản sao, nói rằng không sao chép .git
thư mục? Nếu không, làm thế nào về một cờ để xóa .git
thư mục sau khi nhân bản?
git archive
lưu trữ từ xa như giải pháp "có thể trùng lặp".
Có một lá cờ để vượt qua git
khi thực hiện một bản sao, nói rằng không sao chép .git
thư mục? Nếu không, làm thế nào về một cờ để xóa .git
thư mục sau khi nhân bản?
git archive
lưu trữ từ xa như giải pháp "có thể trùng lặp".
Câu trả lời:
Sử dụng
git clone --depth=1 --branch=master git://someserver/somerepo dirformynewrepo
rm -rf ./dirformynewrepo/.git
dirformynewrepo
không phải là kho lưu trữ Git nữa.!$/.git
nghĩa là gì
!$
, trong khi đúng về mặt kỹ thuật trong trường hợp này, không có gì giúp những người không nhận ra cú pháp hiểu câu trả lời cho câu hỏi thực tế. Nó cũng dựa vào lệnh thứ hai ngay sau lệnh đầu tiên và trong cùng một shell. Nếu bất cứ ai bỏ qua những yêu cầu ngầm đó, cuối cùng họ có thể xóa một cái gì đó khác hoàn toàn. Do đó, tôi đề nghị câu trả lời của bạn có thể được cải thiện bằng cách chỉ định rõ ràng tên đó dirformynewrepo
làm đối số cho rm
lệnh vì nó sẽ làm cho kết nối giữa cả hai lệnh rõ ràng hơn nhiều.
vì bạn chỉ muốn các tập tin, bạn không cần phải coi nó như một repo git.
rsync -rlp --exclude '.git' user@host:path/to/git/repo/ .
và điều này chỉ hoạt động với đường dẫn cục bộ và đường dẫn ssh / rsync từ xa, nó có thể không hoạt động nếu máy chủ từ xa chỉ cung cấp quyền truy cập git: // hoặc https: //.
Ngoài ra, nếu bạn đã cài đặt Node.js , bạn có thể sử dụng lệnh sau:
npx degit GIT_REPO
npx
đi kèm với Node và nó cho phép bạn chạy các gói dựa trên nút nhị phân mà không cần cài đặt chúng trước (thay vào đó, trước tiên bạn có thể cài đặt degit
trên toàn cầu bằng cách sử dụng npm i -g degit
).
Degit là một công cụ được tạo bởi Rich Harris, người tạo ra Svelte và Rollup, anh ta sử dụng để nhanh chóng tạo một dự án mới bằng cách sao chép một kho lưu trữ mà không giữ thư mục git. Nhưng nó cũng có thể được sử dụng để sao chép bất kỳ repo nào một lần ...
Bạn luôn có thể làm
git clone git://repo.org/fossproject.git && rm -rf fossproject/.git
.git
thư mục. Bản dupe bị cáo buộc hỏi làm thế nào để xuất kho lưu trữ hiện có nơi bạn đã có.git
thư mục.