Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

git-rev-parse - Trực tuyến trên đám mây

Chạy git-rev-parse trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh git-rev-parse 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 mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


git-rev-parse - Chọn ra và xoa bóp các tham số

SYNOPSIS


git phân tích cú pháp lại [ --lựa chọn ] ...

MÔ TẢ


Nhiều lệnh bằng sứ của Git lấy hỗn hợp các cờ (tức là các tham số bắt đầu bằng một
dấu gạch ngang -) và các tham số dành cho cơ sở git danh sách sửa đổi lệnh họ sử dụng nội bộ
và các cờ cũng như tham số cho các lệnh khác mà chúng sử dụng ở phía dưới của git danh sách sửa đổi. Điều này
lệnh được sử dụng để phân biệt giữa chúng.

LỰA CHỌN


hoạt động Chế độ
Mỗi tùy chọn này phải xuất hiện đầu tiên trên dòng lệnh.

--parseopt
Sử dụng git phân tích cú pháp lại trong chế độ phân tích tùy chọn (xem phần PARSEOPT bên dưới).

--sq-trích dẫn
Sử dụng git phân tích cú pháp lại ở chế độ trích dẫn shell (xem phần SQ-QUOTE bên dưới). Trái ngược với
tùy chọn --sq bên dưới, chế độ này chỉ trích dẫn. Không có gì khác được thực hiện để ra lệnh
đầu vào.

Các lựa chọn cho --parseopt
--keep-dashdash
Chỉ có ý nghĩa trong chế độ --parseopt. Yêu cầu trình phân tích cú pháp tùy chọn lặp lại câu đầu tiên --
gặp thay vì bỏ qua nó.

--stop-at-không-tùy chọn
Chỉ có ý nghĩa trong chế độ --parseopt. Cho phép trình phân tích cú pháp tùy chọn dừng ở lần đầu tiên
đối số không tùy chọn. Điều này có thể được sử dụng để phân tích các lệnh phụ có các tùy chọn
chính họ.

--kẹt dài
Chỉ có ý nghĩa trong chế độ --parseopt. Xuất các tùy chọn ở dạng dài nếu
có sẵn, và với các lập luận của họ bị mắc kẹt.

Các lựa chọn cho Lọc
--chỉ vòng quay
Không xuất ra các cờ và thông số không dành cho git danh sách sửa đổi chỉ huy.

--không có vòng quay
Không xuất ra các cờ và thông số dành cho git danh sách sửa đổi chỉ huy.

- cờ
Không xuất các tham số không có cờ.

- không có cờ
Không xuất các tham số cờ.

Các lựa chọn cho Đầu ra
--mặc định
Nếu không có tham số nào do người dùng cung cấp, hãy sử dụng thay vì.

--tiếp đầu ngữ
Cư xử như thể git phân tích cú pháp lại đã được gọi từ thư mục con của công việc
cây. Mọi tên tệp tương đối đều được phân giải như thể chúng có tiền tố là và sẽ là
được in dưới dạng đó.

Điều này có thể được sử dụng để chuyển đổi các đối số thành lệnh chạy trong thư mục con để chúng
vẫn có thể được sử dụng sau khi chuyển lên cấp cao nhất của kho lưu trữ. Ví dụ:

tiền tố=$(git rev-parse --show-prefix)
cd "$(git rev-parse --show-toplevel)"
eval "set -- $(git rev-parse --sq --prefix "$prefix" "$@")"

--xác nhận
Xác minh rằng chính xác một tham số được cung cấp và nó có thể được chuyển thành thô
SHA-20 1 byte có thể được sử dụng để truy cập cơ sở dữ liệu đối tượng. Nếu vậy, hãy phát nó tới
đầu ra tiêu chuẩn; nếu không, sẽ xảy ra lỗi.

Nếu bạn muốn đảm bảo rằng đầu ra thực sự đặt tên cho một đối tượng trong đối tượng của bạn
cơ sở dữ liệu và/hoặc có thể được sử dụng như một loại đối tượng cụ thể mà bạn yêu cầu, bạn có thể thêm
^{type} toán tử bóc tách tham số. Ví dụ: git rev-parse "$VAR^{commit}"
sẽ đảm bảo $VAR đặt tên cho một đối tượng hiện có là một cam kết (tức là một cam kết hoặc
một thẻ chú thích trỏ đến một cam kết). Để đảm bảo rằng $VAR đặt tên cho một hiện có
đối tượng thuộc bất kỳ loại nào, git rev-parse "$VAR^{object}" đều có thể được sử dụng.

-q, --quiet
Chỉ có ý nghĩa trong chế độ --verify. Không xuất ra thông báo lỗi nếu đối số đầu tiên
không phải là tên đối tượng hợp lệ; thay vào đó hãy thoát ra với trạng thái khác 1 một cách âm thầm. SHA-XNUMX dành cho
tên đối tượng hợp lệ được in ra thiết bị xuất chuẩn khi thành công.

--sq
Thông thường đầu ra được tạo một dòng cho mỗi cờ và tham số. Tùy chọn này làm cho đầu ra trở thành một
một dòng, được trích dẫn chính xác để Shell tiêu thụ. Hữu ích khi bạn mong đợi
tham số để chứa khoảng trắng và dòng mới (ví dụ: khi sử dụng pickaxe -S với git
khác- *). Ngược lại với tùy chọn --sq-quote, đầu vào lệnh vẫn được diễn giải
như bình thường.

--không phải
Khi hiển thị tên đối tượng, hãy thêm tiền tố vào chúng ^ và dải ^ tiền tố từ tên đối tượng
cái đó đã có rồi.

--abbrev-ref[=(nghiêm ngặt|loose)]
Tên viết tắt rõ ràng của tên đối tượng. Tùy chọn core.warnAmbiguousRefs là
được sử dụng để chọn chế độ viết tắt nghiêm ngặt.

--ngắn, --ngắn=số
Thay vì xuất ra đầy đủ các giá trị SHA-1 của tên đối tượng, hãy thử viết tắt chúng thành
một tên duy nhất ngắn hơn. Khi không có độ dài được chỉ định, 7 được sử dụng. Độ dài tối thiểu là 4.

- ký hiệu
Thông thường tên đối tượng được xuất ra ở dạng SHA-1 (có thể ^ tiếp đầu ngữ); cái này
tùy chọn làm cho chúng xuất ra ở dạng gần giống với đầu vào ban đầu nhất có thể.

--ký hiệu-tên đầy đủ
Điều này tương tự như --symbolic, nhưng nó bỏ qua đầu vào không phải là ref (tức là nhánh hoặc
tên thẻ; hoặc định nghĩa rõ ràng hơn biểu mẫu "người đứng đầu/người chủ", khi bạn muốn
đặt tên cho nhánh "chính" khi không may có thẻ được đặt tên là "chính") và hiển thị
chúng dưới dạng tên giới thiệu đầy đủ (ví dụ: "refs/heads/master").

Các lựa chọn cho Đối tượng
--tất cả các
Hiển thị tất cả các ref được tìm thấy trong refs/.

--branches[=pattern], --tags[=pattern], --remotes[=pattern]
Hiển thị tất cả các nhánh, thẻ hoặc nhánh theo dõi từ xa tương ứng (nghĩa là tìm thấy ref
tương ứng trong ref/heads, refs/tags hoặc refs/remote).

Nếu một mẫu được đưa ra, chỉ các tham chiếu phù hợp với toàn cầu shell đã cho mới được hiển thị. Nếu
mẫu không chứa ký tự toàn cầu (?, * hoặc [), nó được chuyển thành tiền tố
khớp bằng cách thêm /*.

--glob=mẫu
Hiển thị tất cả các ref phù hợp với mẫu mẫu shell toàn cầu. Nếu mẫu không bắt đầu
với refs/, phần này sẽ tự động được thêm vào trước. Nếu mẫu không chứa một
ký tự toàn cầu (?, * hoặc [), nó được chuyển thành kết quả khớp tiền tố bằng cách thêm /*.

--exclude =
Không bao gồm đối sánh giới thiệu rằng - tất cả, - băng ghế, - thẻ,
--remotes hoặc --glob nếu không sẽ xem xét. Số lần lặp lại của tùy chọn này tích lũy
các mẫu loại trừ cho đến - tất cả, - băng ghế, --tags, --remotes hoặc --glob
tùy chọn (các tùy chọn hoặc đối số khác không xóa các mẫu tích lũy).

Các mẫu được đưa ra không nên bắt đầu bằng refs / heads, refs / tags, hoặc refs / remotes khi
được áp dụng cho --braches, --tags hoặc --remotes tương ứng và chúng phải bắt đầu bằng
refs / khi áp dụng cho --glob hoặc --all. Nếu một dấu vết /* được dự định, nó phải được đưa ra
một cách rõ ràng.

--phân biệt=
Hiển thị mọi đối tượng có tên bắt đầu bằng tiền tố đã cho. Các phải ở
dài ít nhất 4 chữ số thập lục phân để tránh liệt kê từng đối tượng trong
kho lưu trữ do nhầm lẫn.

Các lựa chọn cho Các tập tin
--local-env-vars
Liệt kê các biến môi trường GIT_* cục bộ trong kho lưu trữ (ví dụ: GIT_DIR hoặc
GIT_WORK_TREE chứ không phải GIT_EDITOR). Chỉ có tên của các biến được liệt kê, không
giá trị của chúng, ngay cả khi chúng được đặt.

--git-dir
Hiển thị $GIT_DIR nếu được xác định. Nếu không thì hiển thị đường dẫn đến thư mục .git. Con đường
được hiển thị, khi tương đối, có liên quan đến thư mục làm việc hiện tại.

Nếu $GIT_DIR không được xác định và thư mục hiện tại không được phát hiện nằm trong Git
kho lưu trữ hoặc cây công việc in một thông báo tới stderr và thoát với trạng thái khác 0.

--git-common-dir
Hiển thị $GIT_COMMON_DIR nếu được xác định, nếu không thì $GIT_DIR.

--is-inside-git-dir
Khi thư mục làm việc hiện tại ở bên dưới thư mục kho lưu trữ in "true",
nếu không thì "sai".

--is-inside-work-cây
Khi thư mục làm việc hiện tại nằm trong cây công việc của kho lưu trữ print
"đúng", ngược lại là "sai".

--is-bare-kho
Khi kho lưu trữ ở trạng thái in "đúng", nếu không thì "sai".

--resolve-git-dir
Kiểm tra nếu là một kho lưu trữ hợp lệ hoặc một gitfile trỏ đến một kho lưu trữ hợp lệ,
và in vị trí của kho lưu trữ. Nếu như là một gitfile thì đã được giải quyết
đường dẫn đến kho lưu trữ thực sự được in.

--git-path
Giải quyết "$GIT_DIR/ " và nhận các biến định vị lại đường dẫn khác như
$GIT_OBJECT_DIRECTORY, $GIT_INDEX_FILE... vào tài khoản. Ví dụ, nếu
$GIT_OBJECT_DIRECTORY được đặt thành /foo/bar sau đó "git rev-parse --git-path object/abc"
trả về /foo/bar/abc.

--show-cdup
Khi lệnh được gọi từ thư mục con, hãy hiển thị đường dẫn của thư mục cấp cao nhất
thư mục liên quan đến thư mục hiện tại (thường là một chuỗi "../" hoặc một thư mục
chuỗi trống).

--show-tiền tố
Khi lệnh được gọi từ thư mục con, hãy hiển thị đường dẫn của thư mục hiện tại
thư mục liên quan đến thư mục cấp cao nhất.

--show-toplevel
Hiển thị đường dẫn tuyệt đối của thư mục cấp cao nhất.

--shared-index-đường dẫn
Hiển thị đường dẫn đến tệp chỉ mục được chia sẻ ở chế độ chỉ mục phân tách hoặc để trống nếu không ở chế độ này
chế độ chia chỉ mục.

Nền tảng khác Các lựa chọn
--since=chuỗi ngày, --after=chuỗi ngày tháng
Phân tích chuỗi ngày và xuất tham số --max-age= tương ứng cho git
danh sách sửa đổi.

--until=chuỗi ngày, --trước=chuỗi ngày tháng
Phân tích chuỗi ngày và xuất tham số --min-age= tương ứng cho git
danh sách sửa đổi.

...
Cờ và tham số được phân tích cú pháp.

ĐẶC ĐIỂM KỸ THUẬT LỜI KHUYÊN


Một tham số sửa đổi thông thường, nhưng không nhất thiết, đặt tên cho một đối tượng cam kết. Nó sử dụng
cái được gọi là gia tăng SHA-1 cú pháp. Dưới đây là nhiều cách khác nhau để đánh vần tên đối tượng. Các
những cái được liệt kê ở gần cuối danh sách này đặt tên cho cây và các đốm màu có trong một cam kết.

, ví dụ dae86e1950b1277e545cee180551750029cfe735, dae86e
Tên đối tượng SHA-1 đầy đủ (chuỗi thập lục phân 40 byte) hoặc chuỗi con hàng đầu
là duy nhất trong kho lưu trữ. Ví dụ: dae86e1950b1277e545cee180551750029cfe735 và
dae86e đều đặt tên cho cùng một đối tượng cam kết nếu không có đối tượng nào khác trong kho lưu trữ của bạn
có tên đối tượng bắt đầu bằng dae86e.

, ví dụ v1.7.4.2-679-g3bee7fb
Đầu ra từ git mô tả; tức là thẻ gần nhất, tùy ý theo sau là dấu gạch ngang và
số lần xác nhận, theo sau là dấu gạch ngang, a gvà tên đối tượng viết tắt.

, ví dụ chủ, người đứng đầu/chủ nhân, refs / heads / master
Một tên ref mang tính biểu tượng. Ví dụ chủ thường có nghĩa là đối tượng cam kết được tham chiếu bởi
refs / heads / master. Nếu bạn tình cờ có cả hai người đứng đầu/chủ nhânthẻ/chính, Bạn có thể
nói rõ ràng người đứng đầu/chủ nhân để nói cho Git biết ý bạn là gì. Khi mơ hồ, một
được phân biệt bằng cách lấy trận đấu đầu tiên theo các quy tắc sau:

1. Nếu $GIT_DIR/ tồn tại, đó chính là điều bạn muốn nói (điều này thường chỉ hữu ích
cho TRỤ, FETCH_HEAD, ORIG_HEAD, MERGE_HEADCHERRY_PICK_HEAD);

2. mặt khác, giới thiệu/ nếu nó tồn tại;

3. mặt khác, giới thiệu/thẻ/ nếu nó tồn tại;

4. mặt khác, giới thiệu/người đứng đầu/ nếu nó tồn tại;

5. mặt khác, giới thiệu/điều khiển từ xa/ nếu nó tồn tại;

6. mặt khác, giới thiệu/điều khiển từ xa/ /CÁI ĐẦU nếu nó tồn tại.

TRỤ đặt tên cho cam kết mà bạn dựa vào đó để thực hiện các thay đổi trong cây làm việc.
FETCH_HEAD ghi lại nhánh mà bạn đã tìm nạp từ kho lưu trữ từ xa bằng
lệnh gọi tìm nạp git cuối cùng. ORIG_HEAD được tạo bởi các lệnh di chuyển của bạn TRỤ
một cách quyết liệt, để ghi lại vị trí của TRỤ trước khi hoạt động, vì vậy
rằng bạn có thể dễ dàng thay đổi đầu nhánh về trạng thái trước khi chạy
Chúng. MERGE_HEAD ghi lại (các) cam kết mà bạn đang hợp nhất vào chi nhánh của mình
khi bạn chạy git merge. CHERRY_PICK_HEAD ghi lại cam kết của bạn
hái anh đào khi bạn chạy git anh đào-pick.

Lưu ý rằng bất kỳ giới thiệu/* các trường hợp trên có thể đến từ $GIT_DIR/lượt giới thiệu
thư mục hoặc từ $GIT_DIR/đóng gói-refs tài liệu. Trong khi mã hóa tên ref là
không được chỉ định, UTF-8 được ưu tiên vì một số quá trình xử lý đầu ra có thể giả định tên tham chiếu trong
UTF-8.

@
@ một mình là lối tắt cho TRỤ.

@{ }, ví dụ chủ@{ngày hôm qua}, ĐẦU@{5 phút trước kia}
Một giới thiệu theo sau là hậu tố @ với thông số ngày được đính kèm trong cặp dấu ngoặc nhọn
(ví dụ {Hôm qua}, {1 tháng 2 tuần 3 ngày 1 giờ 1 2 trước kia} or {1979-02-26
18:30:00}) chỉ định giá trị của ref tại thời điểm trước đó. Hậu tố này có thể
chỉ được sử dụng ngay sau tên người giới thiệu và người giới thiệu đó phải có nhật ký hiện có
($GIT_DIR/nhật ký/). Lưu ý rằng điều này tra cứu trạng thái của bạn địa phương giới thiệu tại một thời điểm nhất định
thời gian; ví dụ: địa phương của bạn có gì chủ chi nhánh vào tuần trước. Nếu bạn muốn nhìn vào
cam kết được thực hiện trong thời gian nhất định, xem --từ--cho đến khi.

@{ }, ví dụ chủ@{1}
Một giới thiệu theo sau là hậu tố @ với thông số thứ tự được đặt trong cặp dấu ngoặc nhọn
(ví dụ 1 {}, 15 {}) chỉ định giá trị trước thứ n của tham chiếu đó. Ví dụ chủ@{1}
là giá trị liền trước của chủ trong khi chủ@{5} là giá trị trước thứ 5 của
chủ. Hậu tố này chỉ có thể được sử dụng ngay sau tên người giới thiệu và người giới thiệu đó phải
có một nhật ký hiện có ($GIT_DIR/nhật ký/).

@{ }, ví dụ @{1}
Bạn có thể sử dụng @ xây dựng với phần giới thiệu trống để có được mục nhập lại của
chi nhánh hiện tại. Ví dụ: nếu bạn đang ở chi nhánh blabla sau đó @{1} có nghĩa là giống như
blabla@{1}.

@{- }, ví dụ @{-1}
Xay dung @{- } có nghĩa là những chi nhánh/cam kết thứ đã được kiểm tra trước hiện tại
một.

@{Thượng nguồn}, ví dụ master@{ngược dòng}, @{u}
Hậu tố @{Thượng nguồn} đến một tên chi nhánh (dạng ngắn @{u}) đề cập đến
nhánh mà nhánh được chỉ định bởi tên nhánh được thiết lập để xây dựng trên (được định cấu hình
với chi nhánh. .remote và chi nhánh. .merge). Một tên nhánh bị thiếu mặc định là
cái hiện tại

@{xô}, ví dụ chủ@{đẩy}, @{xô}
Hậu tố @{xô} báo cáo chi nhánh "nơi chúng tôi sẽ đẩy tới" nếu git Push được chạy
trong khi tên chi nhánh đã được kiểm tra (hoặc tên hiện tại TRỤ nếu không có tên chi nhánh được chỉ định).
Tất nhiên, vì đích đẩy của chúng tôi nằm trong một kho lưu trữ từ xa nên chúng tôi sẽ báo cáo địa chỉ cục bộ.
nhánh theo dõi tương ứng với nhánh đó (tức là một cái gì đó trong refs / điều khiển từ xa /).

Đây là một ví dụ để làm cho nó rõ ràng hơn:

$ git config Push.default hiện tại
$ git config remote.pushdefault myfork
$ git kiểm tra -b mybranch Origin/master

$ git rev-parse --symbolic-full-name @{upstream}
refs / remotes / origin / master

$ git rev-parse --symbolic-full-name @{push}
ref/điều khiển từ xa/myfork/mybranch

Lưu ý trong ví dụ này là chúng tôi thiết lập quy trình làm việc hình tam giác, trong đó chúng tôi lấy từ một
vị trí và đẩy sang vị trí khác. Trong quy trình làm việc không theo hình tam giác, @{xô} giống như
@{Thượng nguồn}, và không cần thiết cho nó.

^, ví dụ ĐẦU^, v1.5.1^0
Một hậu tố ^ đối với tham số sửa đổi có nghĩa là cha mẹ đầu tiên của đối tượng cam kết đó. ^
có nghĩa là những cha mẹ thứ (tức là ^ tương đương với ^1). Là một quy định đặc biệt,
^0 có nghĩa là cam kết và được sử dụng khi là tên đối tượng của thẻ
đối tượng đề cập đến một đối tượng cam kết.

~, ví dụ chủ nhân~3
Một hậu tố ~ đối với tham số sửa đổi có nghĩa là đối tượng cam kết là quần què
tổ tiên thế hệ của đối tượng cam kết được đặt tên, chỉ theo sau cha mẹ đầu tiên. I E
~3 tương đương với ^^^ tương đương với ^1^1^1. Xem bên dưới để biết
minh họa cách sử dụng mẫu này.

^{ }, ví dụ v0.99.8^{cam kết}
Một hậu tố ^ theo sau là tên loại đối tượng được đặt trong cặp dấu ngoặc nhọn có nghĩa là vô nghĩa
đối tượng tại đệ quy cho đến khi một đối tượng thuộc loại được tìm thấy hoặc đối tượng
không thể hủy đăng ký nữa (trong trường hợp đó là barf). Ví dụ, nếu là một
cam kết, ^{cam kết} mô tả đối tượng cam kết tương ứng. Tương tự, nếu
là một cái cây, ^{cây} mô tả đối tượng cây tương ứng. ^0 is
một cách viết tắt cho ^{cam kết}.

rev^{đối tượng} có thể được sử dụng để đảm bảo vòng quay đặt tên cho một đối tượng tồn tại, không có
Yêu cầu vòng quay là một thẻ và không có hội thảo vòng quay; bởi vì thẻ đã là một
đối tượng, nó không cần phải hủy đăng ký dù chỉ một lần để đến một đối tượng.

vòng quay^{thẻ} có thể được sử dụng để đảm bảo rằng vòng quay xác định một đối tượng thẻ hiện có.

^{}, ví dụ v0.99.8^{}
Một hậu tố ^ theo sau là một cặp dấu ngoặc trống có nghĩa là đối tượng có thể là một thẻ và
hủy đăng ký thẻ theo cách đệ quy cho đến khi tìm thấy đối tượng không có thẻ.

^{/ }, ví dụ ĐẦU^{/sửa khó chịu sâu bọ}
Một hậu tố ^ đến tham số sửa đổi, theo sau là cặp dấu ngoặc nhọn chứa đèn LED văn bản
bằng một dấu gạch chéo, giống như :/sửa chữa khó chịu lỗi cú pháp bên dưới ngoại trừ việc nó trả về
Cam kết phù hợp trẻ nhất có thể truy cập được từ trước ^.

:/, ví dụ :/sửa chữa khó chịu lỗi
Dấu hai chấm, theo sau là dấu gạch chéo, theo sau là văn bản, đặt tên cho một cam kết có thông điệp cam kết
khớp với biểu thức chính quy đã chỉ định. Tên này trả về kết quả phù hợp trẻ nhất
cam kết có thể truy cập được từ bất kỳ ref nào. Nếu thông báo cam kết bắt đầu bằng một ! bạn
phải lặp lại điều đó; trình tự đặc biệt :/!, theo sau là một cái gì đó khác ngoài !, Là
dành riêng cho bây giờ. Biểu thức chính quy có thể khớp với bất kỳ phần nào của thông báo cam kết. ĐẾN
khớp các tin nhắn bắt đầu bằng một chuỗi, người ta có thể sử dụng ví dụ :/^foo.

:, ví dụ ĐẦU:ĐỌC, :ĐỌC, chủ:./README
Một hậu tố : theo sau là một đường dẫn đặt tên cho blob hoặc cây tại đường dẫn đã cho trong tree-ish
đối tượng được đặt tên theo phần trước dấu hai chấm. :con đường (có phần trống trước
dấu hai chấm) là trường hợp đặc biệt của cú pháp được mô tả tiếp theo: nội dung được ghi trong chỉ mục
tại con đường đã cho. Một con đường bắt đầu bằng ./ or ../ liên quan đến công việc hiện tại
danh mục. Đường dẫn đã cho sẽ được chuyển đổi thành tương đối với gốc của cây đang làm việc
danh mục. Điều này hữu ích nhất để giải quyết một đốm màu hoặc cây từ một cam kết hoặc cây
có cấu trúc cây giống như cây làm việc.

: :, ví dụ :0:ĐỌC, :ĐỌC
Dấu hai chấm, tùy ý theo sau là số giai đoạn (0 đến 3) và dấu hai chấm, theo sau là dấu hai chấm
path, đặt tên đối tượng blob trong chỉ mục tại đường dẫn đã cho. Thiếu số giai đoạn (và
dấu hai chấm theo sau nó) đặt tên cho mục nhập giai đoạn 0. Trong quá trình hợp nhất, giai đoạn 1 là
tổ tiên chung, giai đoạn 2 là phiên bản của nhánh mục tiêu (thường là phiên bản hiện tại
nhánh) và giai đoạn 3 là phiên bản từ nhánh đang được sáp nhập.

Đây là một minh họa của Jon Loeliger. Cả hai nút cam kết B và C đều là cha mẹ của cam kết
nút A. Các cam kết gốc được sắp xếp từ trái sang phải.

GHIJ
\ / \ /
DEF
\ | / \
\ | / |
\|/ |
BC
\ /
\ /
A

A = = A^0
B = A^ = A^1 = A~1
C = A^2 = A^2
D = A ^^ = A^1^1 = A~2
E = B^2 = A^2
F = B^3 = A^3
G = A^^= A^1^1^1 = A~3
H = D^2 = B^2 = A^^2 = A~2^2
Tôi = F^ = B^3^ = A^3^
J = F^2 = B^3^2 = A^3^2

ĐẶC ĐIỂM KỸ THUẬT CÁC DÃY


Các lệnh duyệt qua lịch sử như git log hoạt động trên một tập hợp các lần xác nhận, không chỉ một lần
làm. Đối với các lệnh này, việc chỉ định một bản sửa đổi duy nhất với ký hiệu được mô tả trong
phần trước có nghĩa là tập hợp các cam kết có thể truy cập được từ cam kết đó, theo sau cam kết
chuỗi tổ tiên.

Để loại trừ các cam kết có thể truy cập được khỏi một cam kết, một tiền tố ^ ký hiệu được sử dụng. Ví dụ ^r1 r2 có nghĩa
cam kết có thể truy cập từ r2 nhưng loại trừ những cái có thể truy cập từ r1.

Hoạt động tập hợp này xuất hiện thường xuyên đến mức có một cách viết tắt cho nó. Khi bạn có hai
cam kết r1r2 (được đặt tên theo cú pháp được giải thích trong phần CHỈ ĐỊNH CÁC BẢN SỬA ĐỔI ở trên),
bạn có thể yêu cầu các cam kết có thể truy cập được từ r2, ngoại trừ những cam kết có thể truy cập được từ
r1 bởi ^r1 r2 và nó có thể được viết là r1..r2.

Ký hiệu tương tự r1...r2 được gọi là sự khác biệt đối xứng của r1r2 và được định nghĩa là
r1 r2 --không phải $(git cơ sở hợp nhất --tất cả các r1 r2). Đó là tập hợp các cam kết có thể truy cập được
từ một trong hai r1 or r2 nhưng không phải từ cả hai.

Trong hai cách viết tắt này, bạn có thể bỏ qua một đầu và để mặc định là HEAD. Ví dụ,
nguồn gốc.. là cách viết tắt của nguồn gốc..HEAD và hỏi "Tôi đã làm gì kể từ khi tôi rẽ nhánh từ
nhánh gốc?" Tương tự, ..nguồn gốc là cách viết tắt của ĐẦU..xuất xứ và hỏi "Điều gì đã làm
nguồn gốc kể từ khi tôi rẽ nhánh từ họ?" Lưu ý rằng .. có nghĩa là CÁI ĐẦU cái đó trống rỗng
phạm vi vừa có thể truy cập vừa không thể truy cập từ HEAD.

Hai cách viết tắt khác để đặt tên một tập hợp được hình thành bởi một cam kết và cam kết cha của nó
hiện hữu. Các r1^@ ký hiệu có nghĩa là tất cả cha mẹ của r1. r1^! bao gồm cam kết r1 nhưng loại trừ tất cả
của cha mẹ nó.

Để tóm tắt:


Bao gồm các cam kết có thể truy cập được từ (tức là tổ tiên của) .

^
Loại trừ các cam kết có thể truy cập được từ (tức là tổ tiên của) .

..
Bao gồm các cam kết có thể truy cập được từ nhưng loại trừ những thứ có thể truy cập được
từ . Khi một trong hai hoặc bị bỏ qua, nó mặc định là TRỤ.

...
Bao gồm các cam kết có thể truy cập được từ một trong hai hoặc nhưng loại trừ những điều đó
có thể truy cập được từ cả hai. Khi một trong hai hoặc bị bỏ qua, nó mặc định là TRỤ.

^@, ví dụ ĐẦU^@
Một hậu tố ^ theo sau là dấu at cũng giống như liệt kê tất cả cha mẹ của
(có nghĩa là bao gồm mọi thứ có thể truy cập được từ cha mẹ của nó, nhưng không phải bản thân cam kết).

^!, ví dụ ĐẦU^!
Một hậu tố ^ theo sau là dấu chấm than cũng giống như đưa ra cam kết và sau đó
tất cả cha mẹ của nó có tiền tố ^ để loại trừ họ (và tổ tiên của họ).

Dưới đây là một số ví dụ:

DGHD
DFGHIJDF
^GDHD
^DBEIJFB
B..CC
B...CGHDEBC
^DBCEIJFBC
CIJFC
C^@IJF
C^! C
F^! DGHDF

PARSEOPT


Ở chế độ --parseopt, git phân tích cú pháp lại giúp các tùy chọn xoa bóp mang đến cho các tập lệnh shell
cơ sở vật chất tương tự C nội trang có. Nó hoạt động như một bộ chuẩn hóa tùy chọn (ví dụ như chia tách các
chuyển đổi giá trị tổng hợp), hơi giống nhận được(1) không.

Nó lấy đầu vào tiêu chuẩn đặc tả của các tùy chọn để phân tích và hiểu,
và lặp lại trên đầu ra tiêu chuẩn một chuỗi phù hợp với sh(1) đánh giá để thay thế
đối số với những đối số được chuẩn hóa. Trong trường hợp có lỗi, nó sẽ xuất ra mức sử dụng theo lỗi tiêu chuẩn
phát trực tiếp và thoát với mã 129.

Lưu ý: Đảm bảo bạn trích dẫn kết quả khi chuyển nó tới eval. Xem ví dụ bên dưới.

Đầu vào Định dạng
git phân tích cú pháp lại --parseopt định dạng đầu vào hoàn toàn dựa trên văn bản. Nó có hai phần, cách nhau bởi
một dòng chỉ chứa --. Các dòng trước dấu phân cách (phải là một hoặc nhiều) là
được sử dụng cho mục đích sử dụng. Các dòng sau dấu phân cách mô tả các tùy chọn.

Mỗi dòng tùy chọn có định dạng này:

* ? SP+ giúp đỡ LF


định dạng của nó là ký tự tùy chọn ngắn, sau đó tên tùy chọn dài được phân tách bằng dấu
dấu phẩy. Cả hai phần đều không bắt buộc, mặc dù ít nhất một phần là cần thiết. Có thể không chứa
bất kỳ trong số nhân vật. h,help, dry-run và f là những ví dụ đúng
.


là *, =, ? hoặc !.

· Sử dụng = nếu tùy chọn có một đối số.

· Sử dụng ? có nghĩa là tùy chọn có một đối số tùy chọn. Có lẽ bạn muốn
sử dụng chế độ --stuck-long để có thể phân tích cú pháp đối số tùy chọn một cách rõ ràng.

· Sử dụng * có nghĩa là tùy chọn này không được liệt kê trong cách sử dụng được tạo cho
-h đối số. Nó được hiển thị cho --help-all như được ghi lại trong gitcli(7).

· Sử dụng ! để không cung cấp tùy chọn dài phủ định tương ứng.


, nếu được chỉ định, sẽ được sử dụng làm tên của đối số trong kết quả trợ giúp, dành cho
các tùy chọn có đối số. được kết thúc bởi khoảng trắng đầu tiên. Nó là
thông lệ sử dụng dấu gạch ngang để phân tách các từ trong gợi ý đối số nhiều từ.

Phần còn lại của dòng, sau khi loại bỏ khoảng trắng, được sử dụng làm trợ giúp liên quan đến
tùy chọn.

Các dòng trống sẽ bị bỏ qua và các dòng không khớp với thông số kỹ thuật này sẽ được sử dụng làm tùy chọn
tiêu đề nhóm (bắt đầu dòng bằng khoảng trắng nhằm mục đích tạo ra những dòng như vậy).

Ví dụ
OPTS_SPEC="\
một số lệnh [tùy chọn] ...

lệnh nào đó thực hiện foo và bar!
--
h, giúp đỡ, thể hiện sự giúp đỡ

foo một số tùy chọn tiện lợi --foo
bar= một số tùy chọn thú vị --bar có đối số
baz=arg một tùy chọn thú vị khác --baz với đối số được đặt tên
qux?path qux có thể lấy một đối số path nhưng bản thân nó lại có ý nghĩa

Tiêu đề nhóm tùy chọn
C? tùy chọn C với một đối số tùy chọn"

eval "$(echo "$OPTS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $?)"

Sử dụng văn bản
Khi "$@" là -h hoặc --help trong ví dụ trên, văn bản sử dụng sau sẽ được hiển thị:

cách sử dụng: một số lệnh [tùy chọn] ...

lệnh nào đó thực hiện foo và bar!

-h, --help hiển thị sự trợ giúp
--foo một số tùy chọn tiện lợi --foo
--bar ... một số tùy chọn thú vị --bar có đối số
--baz một tùy chọn thú vị khác --baz với đối số được đặt tên
--qux[= ] qux có thể lấy một đối số đường dẫn nhưng bản thân nó có ý nghĩa

Tiêu đề nhóm tùy chọn
-C[...] tùy chọn C với một đối số tùy chọn

SQ-QUOTE


Ở chế độ --sq-quote, git phân tích cú pháp lại vang lại trên đầu ra tiêu chuẩn một dòng duy nhất phù hợp cho
sh(1) đánh giá. Dòng này được tạo bằng cách chuẩn hóa các đối số sau --sq-quote. Không có gì
ngoài việc trích dẫn các đối số được thực hiện.

Nếu bạn muốn đầu vào lệnh vẫn được hiểu như bình thường bởi git phân tích cú pháp lại trước
đầu ra được trích dẫn shell, xem tùy chọn --sq.

Ví dụ
$ cat >your-git-script.sh <<\EOF
#!/ Bin / sh
args=$(git rev-parse --sq-quote "$@") # trích dẫn các đối số do người dùng cung cấp
command="git Frotz -n24 $args" # và sử dụng nó bên trong một ứng dụng thủ công
# dòng lệnh
đánh giá "$ lệnh"
EOF

$ sh your-git-script.sh "a b'c"

VÍ DỤ


· In tên đối tượng của commit hiện tại:

$ git rev-parse --verify HEAD

· In tên đối tượng cam kết từ bản sửa đổi trong biến shell $REV:

$ git rev-parse --verify $REV^{commit}

Điều này sẽ báo lỗi nếu $REV trống hoặc bản sửa đổi không hợp lệ.

· Tương tự như trên:

$ git rev-parse --default master --verify $REV

nhưng nếu $REV trống, tên đối tượng cam kết từ chủ sẽ được in.

GIT


Một phần của git(1) bộ

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


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    Alt-F
    Alt-F
    Alt-F cung cấp một mã nguồn mở và miễn phí
    chương trình cơ sở thay thế cho DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F có Samba và NFS;
    hỗ trợ ext2 / 3/4 ...
    Tải xuống Alt-F
  • 2
    chúng tôi
    chúng tôi
    Usm là một gói slackware thống nhất
    quản lý xử lý tự động
    giải quyết sự phụ thuộc. Nó thống nhất
    các kho lưu trữ gói khác nhau bao gồm
    slackware, slacky, p ...
    Tải về usm
  • 3
    Biểu đồ.js
    Biểu đồ.js
    Chart.js là một thư viện Javascript
    cho phép các nhà thiết kế và nhà phát triển vẽ
    tất cả các loại biểu đồ sử dụng HTML5
    phần tử canvas. Biểu đồ js cung cấp một điều tuyệt vời
    mảng ...
    Tải xuống Chart.js
  • 4
    iReport-Designer cho JasperReports
    iReport-Designer cho JasperReports
    LƯU Ý: Hỗ trợ iReport / Jaspersoft Studio
    Thông báo: Kể từ phiên bản 5.5.0,
    Jaspersoft Studio sẽ là công ty chính thức
    khách hàng thiết kế cho JasperReports. tôi báo cáo
    sẽ...
    Tải xuống iReport-Designer cho JasperReports
  • 5
    PostInstallerF
    PostInstallerF
    PostInstallerF sẽ cài đặt tất cả các
    phần mềm Fedora Linux và những phần mềm khác
    không bao gồm theo mặc định, sau
    chạy Fedora lần đầu tiên. Của nó
    dễ dàng cho ...
    Tải xuống PostInstallerF
  • 6
    đi lạc
    đi lạc
    Dự án đi lạc đã được chuyển đến
    https://strace.io. strace is a
    chẩn đoán, gỡ lỗi và hướng dẫn
    bộ theo dõi không gian người dùng cho Linux. Nó được sử dụng
    để giám sát một ...
    Tải xuống
  • Khác »

Lệnh Linux

Ad