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

Ad


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

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

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

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

CHƯƠNG TRÌNH:

TÊN


git-push - Cập nhật các tham chiếu từ xa cùng với các đối tượng liên quan

SYNOPSIS


git đẩy [- tất cả | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack = ]
[--repo = ] [-f | --force] [--prune] [-v | --verbose]
[-u | --set-ngược dòng]
[- [no-] đã ký | --sign = (true | false | if-ask)]
[--force-with-cho thuê [= [: ]]]
[--no-verify] [ [ ...]]

MÔ TẢ


Cập nhật các tham chiếu từ xa bằng cách sử dụng các tham chiếu cục bộ, đồng thời gửi các đối tượng cần thiết để hoàn thành
giới thiệu đã cho.

Bạn có thể làm cho những điều thú vị xảy ra với một kho lưu trữ mỗi khi bạn đẩy vào nó, bằng cách
thiết lập móc ở đó. Xem tài liệu cho git-nhận-gói(1).

Khi dòng lệnh không chỉ định nơi đẩy với tranh luận,
chi nhánh. *. cấu hình từ xa cho chi nhánh hiện tại được tham khảo để xác định vị trí
xô. Nếu cấu hình bị thiếu, nó mặc định là nguồn gốc.

Khi dòng lệnh không chỉ định những gì cần đẩy ... đối số hoặc - tất cả,
--mirror, --tags các tùy chọn, lệnh tìm mặc định bằng cách tư vấn
cấu hình đẩy từ xa. *. và nếu không tìm thấy nó, hãy tôn trọng cấu hình push.default thành
quyết định những gì cần thúc đẩy (Xem git-config(1) với nghĩa của push.default).

Khi cả dòng lệnh và cấu hình đều không chỉ định những gì cần đẩy, thì giá trị mặc định
hành vi được sử dụng, tương ứng với giá trị đơn giản cho push.default: hiện tại
nhánh được đẩy đến nhánh ngược dòng tương ứng, nhưng như một biện pháp an toàn, việc đẩy
bị hủy bỏ nếu nhánh ngược dòng không có cùng tên với nhánh cục bộ.

LỰA CHỌN



Kho lưu trữ "từ xa" là đích của một hoạt động đẩy. Tham số này có thể là
URL (xem phần GIT URLS bên dưới) hoặc tên của điều khiển từ xa (xem phần
NHẬN XÉT bên dưới).

...
Chỉ định ref đích cần cập nhật với đối tượng nguồn nào. Định dạng của một
tham số là một dấu cộng + tùy chọn, theo sau là đối tượng nguồn ,
theo sau là dấu hai chấm:, theo sau là giới thiệu đích .

Các thường là tên của nhánh bạn muốn đẩy, nhưng nó có thể là bất kỳ
"biểu thức SHA-1" tùy ý, chẳng hạn như cái ~ 4 hoặc HEAD (xem gitrevision(7)).

Các cho biết tham chiếu nào ở phía từ xa được cập nhật với lần đẩy này. Bất kỳ
Các biểu thức không thể được sử dụng ở đây, một tham chiếu thực tế phải được đặt tên. Nếu git push
[ ] không có bất kỳ đối số được đặt để cập nhật một số tham chiếu tại
điểm đến với với điều khiển từ xa. biến cấu hình .push,:
một phần có thể được bỏ qua — một sự thúc đẩy như vậy sẽ cập nhật một tham chiếu thường cập nhật mà không có
không tí nào trên dòng lệnh. Nếu không, thiếu: có nghĩa là cập nhật giống nhau
ref như là .

Đối tượng được tham chiếu bởi được sử dụng để cập nhật tham khảo trên điều khiển từ xa
bên. Theo mặc định, điều này chỉ được phép nếu không phải là một thẻ (chú thích hoặc
nhẹ), và sau đó chỉ khi nó có thể tua đi nhanh . Bằng cách có tùy chọn
dẫn đầu +, bạn có thể yêu cầu Git cập nhật ref ngay cả khi nó không được cho phép bởi
mặc định (ví dụ: nó không phải là tua đi nhanh.) Điều này không không cố gắng hợp nhất vào trong
. Xem VÍ DỤ bên dưới để biết chi tiết.

nhãn có nghĩa giống như refs / tags / : refs / tags / .

Đẩy một sản phẩm nào cho phép bạn xóa tham khảo từ kho lưu trữ từ xa.

Refspec đặc biệt: (hoặc +: để cho phép các cập nhật không tua đi nhanh) hướng Git đẩy
các nhánh "khớp": cho mọi nhánh tồn tại ở phía cục bộ, phía từ xa
được cập nhật nếu một nhánh cùng tên đã tồn tại ở phía xa.

--tất cả các
Đẩy tất cả các nhánh (tức là refs dưới refs / heads /); không thể được sử dụng với khác .

--cắt tỉa
Loại bỏ các chi nhánh từ xa không có đối tác cục bộ. Ví dụ một điều khiển từ xa
nhánh tmp sẽ bị xóa nếu nhánh cục bộ có cùng tên không tồn tại bất kỳ
hơn. Điều này cũng tôn trọng các refspec, ví dụ: git push --prune remote
refs / heads / *: refs / tmp / * sẽ đảm bảo rằng refs / tmp / foo từ xa sẽ bị xóa nếu
refs / heads / foo không tồn tại.

--gương
Thay vì đặt tên cho từng ref để push, hãy chỉ định rằng tất cả các ref trong refs / (mà
bao gồm nhưng không giới hạn ở refs / heads /, refs / remotes / và refs / tags /) được sao chép
vào kho lưu trữ từ xa. Các tham chiếu cục bộ mới được tạo sẽ được đẩy đến đầu từ xa,
Các tham chiếu được cập nhật cục bộ sẽ được cập nhật bắt buộc ở đầu từ xa và các tham chiếu bị xóa sẽ được
được loại bỏ từ đầu từ xa. Đây là mặc định nếu tùy chọn cấu hình
Xa xôi. .mirror được đặt.

-n, - chạy thử
Làm mọi thứ ngoại trừ thực sự gửi các bản cập nhật.

- sứ
Tạo ra đầu ra có thể đọc được bằng máy. Dòng trạng thái đầu ra cho mỗi lần giới thiệu sẽ là
được phân tách bằng tab và được gửi đến stdout thay vì stderr. Tên biểu tượng đầy đủ của
refs sẽ được đưa ra.

--xóa bỏ
Tất cả các tham chiếu được liệt kê sẽ bị xóa khỏi kho lưu trữ từ xa. Điều này cũng giống như tiền tố
tất cả các giới thiệu có dấu hai chấm.

--tags
Tất cả các ref trong refs / tag đều được đẩy, ngoài các refspec được liệt kê rõ ràng trên
dòng lệnh.

--follow-thẻ
Đẩy tất cả các tham chiếu sẽ được đẩy mà không có tùy chọn này và cũng đẩy chú thích
các thẻ trong refs / thẻ bị thiếu từ điều khiển từ xa nhưng đang trỏ đến cam kết đó
có thể truy cập được từ các giới thiệu được đẩy. Điều này cũng có thể được chỉ định với
biến cấu hình đẩy.followTags. Để biết thêm thông tin, xem đẩy.followTags in
git-config(1).

- [no-] đã ký, --sign = (true | false | if-ask)
GPG-ký vào yêu cầu đẩy để cập nhật giới thiệu ở phía nhận, để cho phép
được kiểm tra bằng móc và / hoặc được ghi lại. Nếu sai hoặc - không có chữ ký, sẽ không có chữ ký
đã cố gắng. Nếu đúng hoặc - đã ký, quá trình đẩy sẽ không thành công nếu máy chủ không hỗ trợ
đẩy có ký. Nếu được đặt thành nếu được hỏi, hãy ký nếu và chỉ khi máy chủ hỗ trợ đã ký
đẩy. Quá trình đẩy cũng sẽ không thành công nếu lệnh gọi thực sự tới gpg --sign không thành công. Nhìn thấy git-
gói nhận(1) để biết thông tin chi tiết về đầu nhận.

- [no-] nguyên tử
Sử dụng giao dịch nguyên tử ở phía từ xa nếu có. Tất cả các giới thiệu đều là
cập nhật, hoặc do lỗi, không có giới thiệu nào được cập nhật. Nếu máy chủ không hỗ trợ nguyên tử
đẩy sẽ không thành công.

--receive-pack = , --exec =
Đường dẫn đến git-nhận-gói chương trình trên đầu từ xa. Đôi khi hữu ích khi thúc đẩy
đến một kho lưu trữ từ xa qua ssh và bạn không có chương trình trong thư mục trên
mặc định $ PATH.

- [no-] force-with-cho thuê, --force-with-cho thuê = ,
--force-with-cho thuê = :
Thông thường, "git push" từ chối cập nhật một tham chiếu từ xa không phải là tổ tiên của
ref cục bộ được sử dụng để ghi đè nó.

Tùy chọn này ghi đè hạn chế này nếu giá trị hiện tại của tham chiếu từ xa là
gia trị được ki vọng. "git push" không thành công.

Hãy tưởng tượng rằng bạn phải căn cứ lại những gì bạn đã xuất bản. Bạn sẽ phải
bỏ qua quy tắc "phải tua đi nhanh" để thay thế lịch sử ban đầu của bạn
được xuất bản với lịch sử phục hồi. Nếu ai đó khác xây dựng trên bản gốc của bạn
lịch sử trong khi bạn đang phục hồi, phần đầu của nhánh ở điều khiển từ xa có thể tăng lên với
cam kết của cô ấy, và thúc đẩy một cách mù quáng với - lực lượng sẽ mất công việc của cô ấy.

Tùy chọn này cho phép bạn nói rằng bạn mong đợi lịch sử bạn đang cập nhật là những gì bạn
giảm giá và muốn thay thế. Nếu ref từ xa vẫn chỉ vào cam kết bạn
được chỉ định, bạn có thể chắc chắn rằng không có người khác làm bất cứ điều gì với bản tham chiếu. Nó giống như
nhận "thuê" trên ref mà không khóa nó một cách rõ ràng và ref từ xa là
chỉ được cập nhật nếu "hợp đồng thuê" vẫn còn hiệu lực.

--force-with-cho thuê một mình, không nêu rõ chi tiết, sẽ bảo vệ tất cả các refs từ xa
sẽ được cập nhật bằng cách yêu cầu giá trị hiện tại của chúng giống với
chi nhánh theo dõi từ xa mà chúng tôi có cho họ.

--force-with-cho thuê = , mà không chỉ định giá trị mong đợi, sẽ bảo vệ
được đặt tên là ref (một mình), nếu nó sẽ được cập nhật, bằng cách yêu cầu giá trị hiện tại của nó là
giống như nhánh theo dõi từ xa mà chúng tôi có cho nó.

--force-with-cho thuê = : sẽ bảo vệ ref được đặt tên (một mình), nếu nó
sẽ được cập nhật, bằng cách yêu cầu giá trị hiện tại của nó giống với giá trị đã chỉ định
giá trị (được phép khác với nhánh theo dõi từ xa mà chúng tôi
có cho đổi tên, hoặc chúng tôi thậm chí không cần phải có một nhánh theo dõi từ xa như vậy
khi biểu mẫu này được sử dụng).

Lưu ý rằng tất cả các hình thức khác ngoài --force-with-cho thuê = : điều đó chỉ định
giá trị hiện tại dự kiến ​​của ref một cách rõ ràng vẫn là thử nghiệm và
ngữ nghĩa có thể thay đổi khi chúng tôi có kinh nghiệm với tính năng này.

"--no-force-with-cho thuê" sẽ hủy tất cả --force-with-cho thuê trước đó trên lệnh
hàng.

-f, - lực lượng
Thông thường, lệnh từ chối cập nhật một tham chiếu từ xa không phải là tổ tiên của
ref cục bộ được sử dụng để ghi đè nó. Ngoài ra, khi tùy chọn --force-with-cho thuê được sử dụng,
lệnh từ chối cập nhật một tham chiếu từ xa có giá trị hiện tại không khớp với giá trị
kỳ vọng.

Cờ này vô hiệu hóa các kiểm tra này và có thể khiến kho lưu trữ từ xa mất các cam kết;
sử dụng nó một cách cẩn thận.

Lưu ý rằng --force áp dụng cho tất cả các giới thiệu được đẩy, do đó, sử dụng nó với
push.default được đặt thành phù hợp hoặc với nhiều đích đẩy được định cấu hình với
điều khiển từ xa. *. push có thể ghi đè các tham chiếu khác với chi nhánh hiện tại (bao gồm cả các tham chiếu cục bộ
đứng sau đối tác từ xa của họ). Để buộc chỉ một cú hích
nhánh, sử dụng dấu + ở phía trước refspec để đẩy (ví dụ: git push origin + master để ép
đẩy đến nhánh chính). Xem ... phần trên để biết chi tiết.

--repo =
Tùy chọn này tương đương với tranh luận. Nếu cả hai đều được chỉ định,
đối số dòng lệnh được ưu tiên.

-u, --set-ngược dòng
Đối với mọi nhánh được cập nhật hoặc được đẩy thành công, hãy thêm ngược dòng (theo dõi)
tham chiếu, được sử dụng bởi không đối số kéo git(1) và các lệnh khác. Để biết thêm thông tin,
xem chi nhánh. .merge in git-config(1).

- [không-] mỏng
Các tùy chọn này được chuyển cho git-gửi-gói(1). Một sự chuyển giao mỏng làm giảm đáng kể
lượng dữ liệu đã gửi khi người gửi và người nhận chia sẻ nhiều đối tượng giống nhau trong
chung. Giá trị mặc định là --thin.

-q, --quiet
Chặn tất cả đầu ra, bao gồm cả danh sách các tham chiếu được cập nhật, trừ khi xảy ra lỗi.
Tiến trình không được báo cáo cho luồng lỗi tiêu chuẩn.

-v, --verbose
Chạy dài dòng.

--phát triển
Trạng thái tiến độ được báo cáo trên luồng lỗi tiêu chuẩn theo mặc định khi nó
được gắn vào một thiết bị đầu cuối, trừ khi -q được chỉ định. Cờ này buộc trạng thái tiến trình đồng đều
nếu luồng lỗi tiêu chuẩn không được dẫn đến thiết bị đầu cuối.

--no-recurse-submodules, --recurse-submodules = check | theo yêu cầu | no
Có thể được sử dụng để đảm bảo tất cả các cam kết mô-đun con được sử dụng bởi các bản sửa đổi để được đẩy
có sẵn trên một nhánh theo dõi từ xa. Nếu như kiểm tra được sử dụng Git sẽ xác minh rằng tất cả
các cam kết mô-đun con đã thay đổi trong các bản sửa đổi được đẩy có sẵn trên ít nhất
một điều khiển từ xa của mô-đun con. Nếu thiếu bất kỳ cam kết nào, quá trình đẩy sẽ bị hủy bỏ và
thoát với trạng thái khác không. Nếu như Theo yêu cầu được sử dụng tất cả các mô-đun con đã thay đổi trong
các bản sửa đổi được đẩy sẽ được đẩy. Nếu theo yêu cầu không thể đẩy tất cả những gì cần thiết
sửa đổi nó cũng sẽ bị hủy bỏ và thoát với trạng thái khác không. Một giá trị của Không or
sử dụng - không đệ quy-mô-đun con có thể được sử dụng để ghi đè push.recurseSubmodules
biến cấu hình khi không cần đệ quy mô-đun con.

- [không-] xác minh
Chuyển đổi móc đẩy trước (xem githook(5)). Mặc định là --verify, cung cấp cho hook một
cơ hội để ngăn chặn sự thúc đẩy. Với --no-verify, hook được bỏ qua hoàn toàn.

GIT URL


Nói chung, các URL chứa thông tin về giao thức truyền tải, địa chỉ của
máy chủ từ xa và đường dẫn đến kho lưu trữ. Tùy thuộc vào giao thức vận tải, một số
thông tin này có thể không có.

Git hỗ trợ các giao thức ssh, git, http và https (ngoài ra, có thể sử dụng ftp và ftps
để tìm nạp và rsync có thể được sử dụng để tìm nạp và đẩy, nhưng chúng không hiệu quả và
không dùng nữa; không sử dụng chúng).

Phương tiện truyền tải gốc (tức là git: // URL) không xác thực và nên được sử dụng với
thận trọng trên các mạng không an toàn.

Các cú pháp sau có thể được sử dụng với chúng:

· Ssh: // [user @] host.xz [: port] /path/to/repo.git/

· Git: //host.xz [: port] /path/to/repo.git/

· Http [s]: //host.xz [: port] /path/to/repo.git/

· Ftp [s]: //host.xz [: port] /path/to/repo.git/

· Rsync: //host.xz/path/to/repo.git/

Một cú pháp giống scp thay thế cũng có thể được sử dụng với giao thức ssh:

· [User @] host.xz: path / to / repo.git /

Cú pháp này chỉ được nhận dạng nếu không có dấu gạch chéo trước dấu hai chấm đầu tiên. Điều này có ích
phân biệt một đường dẫn cục bộ có chứa dấu hai chấm. Ví dụ: đường dẫn cục bộ foo: bar could
được chỉ định dưới dạng đường dẫn tuyệt đối hoặc ./foo:bar để tránh bị hiểu sai thành url ssh.

Các giao thức ssh và git cũng hỗ trợ thêm ~ mở rộng tên người dùng:

· Ssh: // [user @] host.xz [: port] / ~ [user] /path/to/repo.git/

· Git: //host.xz [: port] / ~ [người dùng] /path/to/repo.git/

· [User @] host.xz: / ~ [user] /path/to/repo.git/

Đối với kho lưu trữ cục bộ, cũng được hỗ trợ bởi Git, các cú pháp sau có thể
đã sử dụng:

· /Path/to/repo.git/

· Tệp: ///path/to/repo.git/

Hai cú pháp này chủ yếu tương đương nhau, ngoại trừ khi sao chép, khi cú pháp trước đây ngụ ý
- tùy chọn địa phương. Nhìn thấy bản sao git(1) để biết chi tiết.

Khi Git không biết cách xử lý một giao thức truyền tải nhất định, nó sẽ cố gắng sử dụng
Xa xôi- người trợ giúp từ xa, nếu có. Để yêu cầu rõ ràng một người trợ giúp từ xa,
cú pháp sau có thể được sử dụng:

· ::

ở đâu có thể là một đường dẫn, một máy chủ và đường dẫn hoặc một chuỗi giống như URL tùy ý
được công nhận bởi người trợ giúp từ xa cụ thể đang được gọi. Nhìn thấy người trợ giúp gitremote(1) cho
chi tiết.

Nếu có một số lượng lớn các kho lưu trữ từ xa có tên tương tự và bạn muốn sử dụng
định dạng khác nhau cho chúng (chẳng hạn như các URL bạn sử dụng sẽ được viết lại thành các URL
làm việc), bạn có thể tạo một phần cấu hình của biểu mẫu:

[url " "]
thayOf =

Ví dụ, với điều này:

[url "git: //git.host.xz/"]
thayOf = host.xz: / path / to /
thayOf = công việc:

URL như "work: repo.git" hoặc như "host.xz: /path/to/repo.git" sẽ được viết lại trong bất kỳ
ngữ cảnh có URL là "git: //git.host.xz/repo.git".

Nếu bạn muốn viết lại các URL chỉ để đẩy, bạn có thể tạo một phần cấu hình của
hình thức:

[url " "]
pushInsteadOf =

Ví dụ, với điều này:

[url "ssh: //example.org/"]
pushInsteadOf = git: //example.org/

URL như "git: //example.org/path/to/repo.git" sẽ được ghi lại thành
"ssh: //example.org/path/to/repo.git" cho các lần đẩy, nhưng các lần kéo sẽ vẫn sử dụng bản gốc
URL.

GHI NHỚ


Tên của một trong những thứ sau có thể được sử dụng thay vì URL như tranh luận:

· Một điều khiển từ xa trong tệp cấu hình Git: $ GIT_DIR / config,

· Một tệp trong thư mục $ GIT_DIR / remotes hoặc

· Một tệp trong thư mục $ GIT_DIR / branch.

Tất cả những điều này cũng cho phép bạn bỏ qua refspec khỏi dòng lệnh vì chúng mỗi
chứa một refspec mà git sẽ sử dụng theo mặc định.

Được đặt theo tên xa in cấu hình hồ sơ
Bạn có thể chọn cung cấp tên của điều khiển từ xa mà bạn đã định cấu hình trước đó bằng cách sử dụng
git-từ xa(1) git-config(1) hoặc thậm chí bằng cách chỉnh sửa thủ công đối với tệp $ GIT_DIR / config. URL
của điều khiển từ xa này sẽ được sử dụng để truy cập kho lưu trữ. Bản refspec của điều khiển từ xa này sẽ là
được sử dụng theo mặc định khi bạn không cung cấp refspec trên dòng lệnh. Mục nhập trong
tệp cấu hình sẽ xuất hiện như thế này:

[Xa xôi " "]
url =
pushurl =
đẩy =
lấy =

Các chỉ được sử dụng để đẩy. Nó là tùy chọn và mặc định là .

Được đặt theo tên hồ sơ in $ GIT_DIR / điều khiển từ xa
Bạn có thể chọn cung cấp tên của tệp trong $ GIT_DIR / điều khiển từ xa. URL trong tệp này
sẽ được sử dụng để truy cập kho lưu trữ. Refspec trong tệp này sẽ được sử dụng làm mặc định
khi bạn không cung cấp refspec trên dòng lệnh. Tệp này phải có những điều sau đây
định dạng:

URL: một trong những định dạng URL ở trên
Xô:
Sự lôi kéo:

Đẩy: dòng được sử dụng bởi git đẩy và Kéo: các dòng được sử dụng bởi git kéogit lấy.
Nhiều dòng Đẩy: và Kéo: có thể được chỉ định cho các ánh xạ nhánh bổ sung.

Được đặt theo tên hồ sơ in $ GIT_DIR / chi nhánh
Bạn có thể chọn cung cấp tên của tệp trong $ GIT_DIR / cành. URL trong tệp này
sẽ được sử dụng để truy cập kho lưu trữ. Tệp này phải có định dạng sau:

#

bắt buộc; # Là tùy chọn.

Tùy thuộc vào hoạt động, git sẽ sử dụng một trong các refspec sau, nếu bạn không
cung cấp một trên dòng lệnh. là tên của tệp này trong $ GIT_DIR / cành
và mặc định là chính.

git fetch sử dụng:

refs / đầu / : refs / heads /

git push sử dụng:

ĐẦU: refs / heads /

OUTPUT


Sản lượng của "git push" phụ thuộc vào phương thức vận chuyển được sử dụng; phần này mô tả
xuất khi đẩy qua giao thức Git (cục bộ hoặc qua ssh).

Trạng thái đẩy được xuất dưới dạng bảng, với mỗi dòng đại diện cho trạng thái
của một lượt giới thiệu duy nhất. Mỗi dòng có dạng:

-> ( )

Nếu --por Ambassador được sử dụng, thì mỗi dòng của đầu ra có dạng:

\NS : \NS ( )

Trạng thái của các bản giới thiệu cập nhật chỉ được hiển thị nếu tùy chọn --por Ambassador hoặc --verbose được sử dụng.

cờ
Một ký tự duy nhất cho biết trạng thái của ref:

(không gian)
để chuyển tiếp nhanh được đẩy thành công;

+
để cập nhật bắt buộc thành công;

-
cho một ref đã xóa thành công;

*
cho một ref mới được đẩy thành công;

!
đối với một giới thiệu bị từ chối hoặc không đẩy được; và

=
cho một bản giới thiệu đã được cập nhật và không cần phải thúc đẩy.

tóm tắt
Đối với một ref được đẩy thành công, bản tóm tắt hiển thị các giá trị cũ và mới của ref trong
một biểu mẫu thích hợp để sử dụng làm đối số cho git log (đây là .. ở hầu hết các
các trường hợp, và ... đối với các bản cập nhật buộc phải tua đi không nhanh).

Đối với một bản cập nhật không thành công, các chi tiết khác sẽ được cung cấp:

từ chối
Git hoàn toàn không cố gắng gửi tham chiếu, thường là vì nó không phải là chuyển tiếp nhanh
và bạn đã không buộc cập nhật.

bị từ chối từ xa
Đầu từ xa đã từ chối cập nhật. Thường do móc ở phía điều khiển từ xa gây ra, hoặc
bởi vì kho lưu trữ từ xa có một trong các tùy chọn an toàn sau đây có hiệu lực:
get.denyCurrentBranch (để đẩy đến nhánh đã kiểm tra),
get.denyNonFastForwards (đối với các bản cập nhật buộc phải tua đi không nhanh),
nhận.denyDeletes hoặc nhận.denyDeleteCurrent. Nhìn thấy git-config(1).

thất bại từ xa
Đầu từ xa không báo cáo cập nhật thành công bản tham chiếu, có lẽ do
lỗi tạm thời ở phía điều khiển từ xa, ngắt kết nối mạng hoặc lỗi khác
lỗi thoáng qua.

từ
Tên của tham chiếu cục bộ đang được đẩy, trừ đi số giới thiệu của nó / / tiếp đầu ngữ. Trong trường hợp
xóa, tên của tham chiếu cục bộ bị bỏ qua.

đến
Tên của tham chiếu từ xa đang được cập nhật, trừ đi số tham chiếu của nó / / tiếp đầu ngữ.

lý do
Một lời giải thích mà con người có thể đọc được. Trong trường hợp các lượt giới thiệu được đẩy thành công, không cần giải thích
là cần thiết. Đối với một lần giới thiệu không thành công, lý do cho sự thất bại được mô tả.

LƯU Ý VỀ(ABOUT) NHANH CHÓNG


Khi bản cập nhật thay đổi một nhánh (hoặc nhiều hơn nói chung, một tham chiếu) được sử dụng để chỉ vào cam kết A
để trỏ đến một cam kết B khác, nó được gọi là cập nhật tua đi nhanh nếu và chỉ khi B là
hậu duệ của A.

Trong bản cập nhật tua đi nhanh từ A đến B, tập hợp các cam kết mà cam kết ban đầu A đã xây dựng
trên cùng là một tập hợp con của các cam kết mà cam kết B mới được xây dựng trên đầu trang. Do đó, nó không
mất lịch sử nào.

Ngược lại, một bản cập nhật không tua đi nhanh sẽ làm mất lịch sử. Ví dụ: giả sử bạn và
ai đó khác đã bắt đầu cùng cam kết X và bạn đã xây dựng lịch sử dẫn đến cam kết B
trong khi người kia xây dựng lịch sử dẫn đến cam kết A. Lịch sử trông như thế này:

B
/
--- X --- A

Hơn nữa, giả sử rằng người kia đã đẩy các thay đổi dẫn đến A quay trở lại
kho lưu trữ ban đầu mà từ đó hai bạn có được cam kết X ban đầu.

Việc đẩy được thực hiện bởi người khác đã cập nhật nhánh được sử dụng để trỏ vào cam kết X thành
điểm tại cam kết A. Nó là một chuyển tiếp nhanh.

Nhưng nếu bạn cố gắng đẩy, bạn sẽ cố gắng cập nhật nhánh (bây giờ chỉ tại A) với
cam kết B. Điều này không không nhanh về phía trước. Nếu bạn đã làm như vậy, những thay đổi được giới thiệu bởi cam kết A
sẽ bị mất, bởi vì mọi người bây giờ sẽ bắt đầu xây dựng trên đỉnh B.

Theo mặc định, lệnh không cho phép cập nhật không phải là tua nhanh để ngăn chặn
mất lịch sử.

Nếu bạn không muốn mất công việc của mình (lịch sử từ X đến B) hoặc công việc của người khác
(lịch sử từ X đến A), trước tiên bạn cần tìm nạp lịch sử từ kho lưu trữ,
tạo lịch sử chứa các thay đổi do cả hai bên thực hiện và đẩy kết quả trở lại.

Bạn có thể thực hiện "git pull", giải quyết xung đột tiềm ẩn và "git push" kết quả. A "git
pull "sẽ tạo ra một commit C hợp nhất giữa các commit A và B.

B --- C
/ /
--- X --- A

Cập nhật A với cam kết hợp nhất kết quả sẽ diễn ra nhanh chóng và quá trình thúc đẩy của bạn sẽ
được chấp nhận.

Ngoài ra, bạn có thể căn cứ lại thay đổi của mình giữa X và B trên đầu A, với "git pull
--rebase "và đẩy kết quả trở lại. Rebase sẽ tạo một cam kết D mới để xây dựng
thay đổi giữa X và B trên đỉnh của A.

BD
/ /
--- X --- A

Một lần nữa, cập nhật A với cam kết này sẽ diễn ra nhanh chóng và thúc đẩy của bạn sẽ được chấp nhận.

Có một tình huống phổ biến khác mà bạn có thể gặp phải từ chối không tua nhanh khi
bạn cố gắng đẩy và có thể xảy ra ngay cả khi bạn đang đẩy vào một kho lưu trữ, không ai
khác đẩy vào. Sau khi bạn tự đẩy cam kết A (trong hình đầu tiên trong phần này),
thay thế nó bằng "git commit --amend" để tạo ra commit B và bạn cố gắng đẩy nó ra,
vì quên rằng bạn đã đẩy A ra rồi. Trong trường hợp như vậy, và chỉ khi bạn
chắc chắn rằng không ai trong thời gian chờ đợi tìm nạp cam kết A trước đó của bạn (và bắt đầu xây dựng trên
trên hết), bạn có thể chạy "git push --force" để ghi đè lên nó. Nói cách khác, "git push
--force "là một phương thức dành riêng cho trường hợp bạn cố tình làm mất lịch sử.

VÍ DỤ


đẩy git
Hoạt động giống như git push , ở đâu là điều khiển từ xa của chi nhánh hiện tại (hoặc
gốc, nếu không có điều khiển từ xa nào được cấu hình cho nhánh hiện tại).

nguồn gốc đẩy git
Nếu không có cấu hình bổ sung, hãy đẩy nhánh hiện tại lên phần ngược dòng đã định cấu hình
(biến cấu hình remote.origin.merge) nếu nó có cùng tên với hiện tại
nhánh, và các lỗi xảy ra mà không cần đẩy ngược lại.

Hành vi mặc định của lệnh này khi không được đưa ra có thể được cấu hình bởi
thiết lập tùy chọn đẩy của điều khiển từ xa hoặc biến cấu hình push.default.

Ví dụ: để mặc định chỉ đẩy nhánh hiện tại về gốc, hãy sử dụng git config
Remote.origin.push HEAD. Bất kỳ hợp lệ (giống như những cái trong các ví dụ bên dưới) có thể
được định cấu hình làm mặc định cho git push origin.

git push origin:
Đẩy các nhánh "khớp" về điểm gốc. Nhìn thấy trong phần TÙY CHỌN ở trên cho một
mô tả của các nhánh "phù hợp".

git đẩy nguồn gốc chủ
Tìm một giới thiệu phù hợp với chính trong kho lưu trữ nguồn (rất có thể, nó sẽ tìm thấy
refs / heads / master), và cập nhật cùng một ref (ví dụ: refs / heads / master) về nguồn gốc
kho lưu trữ với nó. Nếu bản gốc không tồn tại từ xa, nó sẽ được tạo.

git đẩy nguồn gốc HEAD
Một cách tiện dụng để đẩy chi nhánh hiện tại đến cùng tên trên điều khiển từ xa.

git push masterhip master: vệ tinh / master dev: vệ tinh / dev
Sử dụng nguồn ref phù hợp với chính (ví dụ: refs / heads / master) để cập nhật ref
khớp với vệ tinh / chính (hầu hết có thể là refs / điều khiển từ xa / vệ tinh / chính) trong
kho lưu trữ làm mẹ; làm tương tự cho nhà phát triển và vệ tinh / nhà phát triển.

Điều này là để mô phỏng git fetch run trên motherhip bằng cách sử dụng git push được chạy trong
hướng ngược lại để tích hợp công việc được thực hiện trên vệ tinh, và thường
cần thiết khi bạn chỉ có thể thực hiện kết nối theo một cách (tức là vệ tinh có thể xâm nhập vào
quyền làm mẹ nhưng quyền làm mẹ không thể bắt đầu kết nối với vệ tinh vì
nằm sau tường lửa hoặc không chạy sshd).

Sau khi chạy git push này trên máy vệ tinh, bạn sẽ vào
làm mẹ và chạy git kết hợp ở đó để hoàn thành mô phỏng git pull đã được chạy
trên vai trò làm mẹ để thực hiện các thay đổi được thực hiện trên vệ tinh.

git push origin HEAD: master
Đẩy nhánh hiện tại đến cái chính đối sánh tham chiếu từ xa trong kho lưu trữ gốc.
Hình thức này thuận tiện để đẩy chi nhánh hiện tại mà không cần suy nghĩ về cục bộ của nó
tên.

git push origin master: refs / heads / testing
Tạo thử nghiệm nhánh trong kho lưu trữ gốc bằng cách sao chép bản chính hiện tại
chi nhánh. Biểu mẫu này chỉ cần thiết để tạo một nhánh hoặc thẻ mới trong điều khiển từ xa
kho lưu trữ khi tên cục bộ và tên từ xa khác nhau; nếu không, ref
tên riêng của nó sẽ hoạt động.

git push origin: thử nghiệm
Tìm một giới thiệu phù hợp với thử nghiệm trong kho lưu trữ gốc (ví dụ:
giới thiệu / đầu / thử nghiệm), và xóa nó.

git push origin + dev: master
Cập nhật nhánh chính của kho lưu trữ gốc với nhánh nhà phát triển, cho phép
cập nhật không chuyển tiếp nhanh. T có thể để lại không tham chiếu cam kết lủng lẳng in các nguồn gốc
kho. Hãy xem xét tình huống sau, trong đó không thể tua đi nhanh:

o --- o --- o --- A --- B origin / master
\
X --- Y --- Z dev

Lệnh trên sẽ thay đổi kho lưu trữ gốc thành

A --- B (nhánh không tên)
/
o --- o --- o --- X --- Y --- Z chủ

Cam kết A và B sẽ không còn thuộc về một nhánh có tên tượng trưng nữa, và
không thể truy cập được. Do đó, các cam kết này sẽ bị xóa bằng lệnh git gc trên
kho lưu trữ nguồn gốc.

GIT


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

Sử dụng git-push trực tuyến bằng các 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
    sạch sâu
    sạch sâu
    Một tập lệnh Kotlin kích hoạt tất cả các bản dựng
    cache từ các dự án Gradle/Android.
    Hữu ích khi Gradle hoặc IDE cho phép bạn
    xuống. Kịch bản đã được thử nghiệm trên
    macOS, nhưng ...
    Tải xuống sạch sâu
  • 2
    Trình cắm kiểu kiểm tra Eclipse
    Trình cắm kiểu kiểm tra Eclipse
    Trình cắm thêm Eclipse Checkstyle
    tích hợp mã Checkstyle Java
    đánh giá viên vào IDE Eclipse. Các
    plug-in cung cấp phản hồi theo thời gian thực để
    người dùng về vi phạm ...
    Tải xuống Trình cắm kiểu kiểm tra Eclipse
  • 3
    AstrOrzNgười Chơi
    AstrOrzNgười Chơi
    AstrOrz Player là trình phát đa phương tiện miễn phí
    phần mềm, một phần dựa trên WMP và VLC. Các
    người chơi theo phong cách tối giản, với
    hơn mười màu chủ đề và cũng có thể
    b ...
    Tải xuống AstrOrzPlayer
  • 4
    phim trường
    phim trường
    Kodi Movistar+ TV là một ADDON cho XBMC/
    Kodi que allowe disponer de un
    bộ giải mã dịch vụ IPTV
    Tích hợp Movistar en uno de los
    trung tâm truyền thông ...
    Tải phimstartv
  • 5
    Mã :: Khối
    Mã :: Khối
    Code::Blocks là mã nguồn mở, miễn phí,
    đa nền tảng C, C++ và Fortran IDE
    được xây dựng để đáp ứng những nhu cầu khắt khe nhất
    của người dùng của nó. Nó được thiết kế rất
    mở rộng ...
    Tải xuống mã::Khối
  • 6
    Ở giữa
    Ở giữa
    Giao diện Minecraft giữa hoặc nâng cao
    và Theo dõi Dữ liệu / Cấu trúc là một công cụ để
    hiển thị tổng quan về Minecraft
    thế giới mà không thực sự tạo ra nó. Nó
    có thể ...
    Tải về giữa
  • Khác »

Lệnh Linux

Ad