git-fast-export - Trực tuyến trên Đám mây

Đây là lệnh git-fast-export có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


git-fast-export - Trình xuất dữ liệu Git

SYNOPSIS


git xuất nhanh [tùy chọn] | git nhập khẩu nhanh

MÔ TẢ


Chương trình này kết xuất các bản sửa đổi đã cho ở một hình thức phù hợp để đưa vào git
nhập khẩu nhanh.

Bạn có thể sử dụng nó như một gói thay thế mà con người có thể đọc được (xem git-bó(1)), hoặc như một loại
một tương tác git chi nhánh lọc.

LỰA CHỌN


--progress =
Chèn tiến bộ tuyên bố mọi các đối tượng, được hiển thị bởi git nhập khẩu nhanh suốt trong
nhập khẩu.

--signed-tags = (nguyên văn | cảnh báo | cảnh báo-dải | dải | hủy bỏ)
Chỉ định cách xử lý các thẻ đã ký. Vì bất kỳ chuyển đổi nào sau khi xuất đều có thể
thay đổi tên thẻ (cũng có thể xảy ra khi loại trừ các bản sửa đổi) chữ ký
sẽ không phù hợp.

Khi yêu cầu Huỷ bỏ (là mặc định), chương trình này sẽ chết khi gặp phải
thẻ đã ký. Với dải, các thẻ sẽ im lặng không có dấu, với dải cảnh báo họ
sẽ được thực hiện là không có dấu nhưng một cảnh báo sẽ được hiển thị, với từng tiếng một, họ sẽ được
âm thầm xuất khẩu và với cảnh báo, chúng sẽ được xuất, nhưng bạn sẽ thấy một cảnh báo.

--tag-of-filter-object = (abort | drop | rewrite)
Chỉ định cách xử lý các thẻ có đối tượng được gắn thẻ bị lọc ra. Kể từ khi sửa đổi và
các tệp để xuất có thể bị giới hạn bởi đường dẫn, các đối tượng được gắn thẻ có thể bị lọc hoàn toàn.

Khi yêu cầu Huỷ bỏ (là mặc định), chương trình này sẽ chết khi gặp phải
một thẻ như vậy. Với rơi vãi nó sẽ bỏ qua các thẻ như vậy khỏi đầu ra. Với viết lại, nếu
đối tượng được gắn thẻ là một cam kết, nó sẽ viết lại thẻ để gắn thẻ một cam kết tổ tiên (thông qua
cha mẹ viết lại; Thấy chưa danh sách git-rev(1))

-M, -c
Thực hiện phát hiện di chuyển và / hoặc sao chép, như được mô tả trong git-khác biệt(1) trang hướng dẫn sử dụng, và
sử dụng nó để tạo các lệnh đổi tên và sao chép trong kết xuất đầu ra.

Lưu ý rằng các phiên bản trước của lệnh này không phàn nàn và tạo ra không chính xác
kết quả nếu bạn đưa ra các tùy chọn này.

--export-mark =
Kết xuất bảng dấu nội bộ thành khi hoàn thành. Các dấu được viết một trên mỗi dòng
như: markid SHA-1. Chỉ đánh dấu cho các bản sửa đổi bị loại bỏ; đánh dấu cho các đốm màu bị bỏ qua.
Phần phụ trợ có thể sử dụng tệp này để xác thực quá trình nhập sau khi chúng đã được hoàn thành hoặc để
lưu bảng điểm qua các lần chạy tăng dần. Như chỉ được mở và cắt ngắn
khi hoàn thành, con đường tương tự cũng có thể được cấp một cách an toàn cho --import-mark. Tệp sẽ
không được ghi nếu không có đối tượng mới nào được đánh dấu / xuất.

--import-mark =
Trước khi xử lý bất kỳ đầu vào nào, hãy tải các dấu được chỉ định trong . Tệp đầu vào phải
tồn tại, phải có thể đọc được và phải sử dụng cùng một định dạng được tạo bởi --export-mark.

Mọi cam kết đã được đánh dấu sẽ không được xuất lại. Nếu phụ trợ
sử dụng một tệp - dấu phân phối tương tự, điều này cho phép tăng dần
xuất kho lưu trữ bằng cách giữ nguyên các nhãn hiệu trong các lần chạy.

--fake-thiếu-tagger
Một số kho lưu trữ cũ có thẻ mà không có trình gắn thẻ. Giao thức nhập nhanh khá
nghiêm ngặt về điều đó, và không cho phép điều đó. Vì vậy, hãy giả mạo một trình gắn thẻ để có thể nhập nhanh
đầu ra.

- sử dụng-thực hiện-tính năng
Bắt đầu luồng với tính năng thực hiện khổ thơ, và kết thúc nó bằng một thực hiện chỉ huy.

--không có dữ liệu
Bỏ qua đầu ra của các đối tượng đốm màu và thay vào đó tham chiếu đến các đốm màu thông qua hàm băm SHA-1 ban đầu của chúng.
Điều này rất hữu ích khi viết lại cấu trúc thư mục hoặc lịch sử của một kho lưu trữ
mà không cần chạm vào nội dung của các tệp riêng lẻ. Lưu ý rằng luồng kết quả có thể
chỉ được sử dụng bởi một kho lưu trữ đã chứa các đối tượng cần thiết.

- toàn cây
Tùy chọn này sẽ khiến xuất nhanh để đưa ra chỉ thị "xóa tất cả" cho mỗi lần cam kết
theo sau là danh sách đầy đủ tất cả các tệp trong cam kết (thay vì chỉ liệt kê
các tệp khác với tệp gốc đầu tiên của cam kết).

--giấu danh tính
Ẩn danh nội dung của kho lưu trữ trong khi vẫn giữ nguyên hình dạng của
lịch sử và cây lưu trữ. Xem phần ANONYMIZING bên dưới.

--Refspec
Áp dụng refspec được chỉ định cho mỗi ref được xuất. Nhiều người trong số họ có thể được chỉ định.

[ ...]
Một danh sách các đối số, có thể chấp nhận được git phân tích cú pháp lạigit danh sách sửa đổi, điều đó chỉ định
các đối tượng cụ thể và các tham chiếu để xuất. Ví dụ: master ~ 10..master gây ra
tham chiếu chính hiện tại sẽ được xuất cùng với tất cả các đối tượng được thêm vào kể từ ngày thứ 10
cam kết tổ tiên.

VÍ DỤ


$ git xuất nhanh - tất cả | (cd / blank / repository && git fast-import)

Thao tác này sẽ xuất toàn bộ kho lưu trữ và nhập vào kho lưu trữ trống hiện có.
Ngoại trừ các cam kết mã hóa lại không có trong UTF-8, nó sẽ là bản sao một đối một.

$ git xuất nhanh master ~ 5..master |
sed "s | refs / heads / master | refs / heads / other |" |
nhập nhanh git

Điều này làm cho một nhánh mới được gọi là khác từ master ~ 5..master (tức là nếu chủ có tuyến tính
lịch sử, nó sẽ mất 5 lần cam kết cuối cùng).

Lưu ý rằng điều này giả định rằng không có đốm màu và thông báo cam kết nào được tham chiếu bởi đó
phạm vi sửa đổi chứa chuỗi refs / heads / master.

Ẩn danh


Nếu tùy chọn --anonymize được đưa ra, git sẽ cố gắng xóa tất cả thông tin nhận dạng
từ kho lưu trữ trong khi vẫn giữ đủ các mẫu lịch sử và cây gốc
để tái tạo một số lỗi. Mục tiêu là một lỗi git được tìm thấy trên một kho lưu trữ riêng tư
sẽ tồn tại trong kho lưu trữ ẩn danh và sau này có thể được chia sẻ với git
nhà phát triển để giúp giải quyết lỗi.

Với tùy chọn này, git sẽ thay thế tất cả tên, đường dẫn, nội dung blob, cam kết và thẻ
tin nhắn, tên và địa chỉ email trong đầu ra với dữ liệu ẩn danh. Hai trường hợp của
cùng một chuỗi sẽ được thay thế tương đương (ví dụ: hai cam kết với cùng một tác giả sẽ
có cùng một tác giả ẩn danh trong đầu ra, nhưng không giống với tác phẩm gốc
chuỗi tác giả). Mối quan hệ giữa các cam kết, các nhánh và các thẻ cũng được giữ lại
dưới dạng dấu thời gian cam kết (nhưng thông báo cam kết và tên đổi mới không giống với
bản gốc). Trang điểm tương đối của cây được giữ lại (ví dụ: nếu bạn có một cây rễ
với 10 tệp và 3 cây, đầu ra cũng vậy), nhưng tên của chúng và nội dung của
các tập tin sẽ được thay thế.

Nếu bạn cho rằng mình đã tìm thấy lỗi git, bạn có thể bắt đầu bằng cách xuất một luồng ẩn danh của
toàn bộ kho:

$ git xuất nhanh --anonymize --all> anon-stream

Sau đó, xác nhận rằng lỗi vẫn tồn tại trong kho lưu trữ được tạo từ luồng đó (nhiều lỗi
sẽ không, vì chúng thực sự phụ thuộc vào nội dung chính xác của kho lưu trữ):

$ git init anon-repo
$ cd anon-repo
$ git nhập nhanh <../ anon-stream
$ ... kiểm tra lỗi của bạn ...

Nếu kho lưu trữ ẩn danh hiển thị lỗi, nó có thể đáng để chia sẻ anon-stream cùng với
một báo cáo lỗi thường xuyên. Lưu ý rằng luồng ẩn danh nén rất tốt, vì vậy hãy nén nó
được khuyến khích. Nếu bạn muốn kiểm tra luồng để thấy rằng nó không chứa bất kỳ
dữ liệu cá nhân, bạn có thể xem xét nó trực tiếp trước khi gửi. Bạn cũng có thể muốn thử:

$ perl -pe 's / \ d + / X / g'

hiển thị tất cả các dòng duy nhất (với các số được chuyển đổi thành "X", để thu gọn "Người dùng 0",
"Người dùng 1", v.v. thành "Người dùng X"). Điều này tạo ra sản lượng nhỏ hơn nhiều và nó thường dễ dàng
để nhanh chóng xác nhận rằng không có dữ liệu riêng tư nào trong luồng.

GIỚI HẠN


từ git nhập khẩu nhanh không thể gắn thẻ cây, bạn sẽ không thể xuất linux.git
kho lưu trữ hoàn toàn, vì nó chứa một thẻ tham chiếu đến một cây thay vì một cam kết.

Sử dụng git-fast-export trực tuyến bằng các dịch vụ onworks.net



Các chương trình trực tuyến Linux & Windows mới nhất