Lệnh 5 được sử dụng để tải nội dung kho lưu trữ cục bộ lên kho lưu trữ từ xa. Đẩy là cách bạn chuyển các xác nhận từ kho lưu trữ cục bộ sang kho lưu trữ từ xa. Nó là bản sao của 6, nhưng trong khi tìm nạp các cam kết nhập khẩu tới các chi nhánh địa phương, đẩy các cam kết xuất khẩu tới các chi nhánh ở xa. Các nhánh từ xa được định cấu hình bằng lệnh 7. Đẩy có khả năng ghi đè lên các thay đổi, nên thận trọng khi đẩy. Những vấn đề này được thảo luận dưới đây Show Sử dụng đẩy GitĐẩy nhánh đã chỉ định tới, cùng với tất cả các xác nhận cần thiết và các đối tượng bên trong. Điều này tạo ra một nhánh cục bộ trong kho lưu trữ đích. Để ngăn bạn ghi đè lên các cam kết, Git sẽ không cho phép bạn đẩy khi nó dẫn đến việc hợp nhất không chuyển tiếp nhanh trong kho lưu trữ đích Tương tự như lệnh trên, nhưng buộc đẩy ngay cả khi nó dẫn đến hợp nhất không chuyển tiếp nhanh. Không sử dụng cờ 8 trừ khi bạn hoàn toàn chắc chắn rằng mình biết mình đang làm gìĐẩy tất cả các nhánh cục bộ của bạn đến điều khiển từ xa được chỉ định Các thẻ không tự động được đẩy khi bạn đẩy một nhánh hoặc sử dụng tùy chọn 9. Cờ 0 gửi tất cả các thẻ cục bộ của bạn đến kho lưu trữ từ xaThảo luận đẩy Git 5 được sử dụng phổ biến nhất để xuất bản tải các thay đổi cục bộ lên kho lưu trữ trung tâm. Sau khi một kho lưu trữ cục bộ đã được sửa đổi, một lần đẩy được thực hiện để chia sẻ các sửa đổi với các thành viên trong nhóm từ xaSơ đồ trên cho thấy điều gì sẽ xảy ra khi 0 cục bộ của bạn vượt qua 0 của kho lưu trữ trung tâm và bạn xuất bản các thay đổi bằng cách chạy 2. Lưu ý cách 5 về cơ bản giống như chạy 4 từ bên trong kho lưu trữ từ xaĐẩy và đồng bộ hóa Git 5 là một thành phần của nhiều thành phần được sử dụng trong quy trình "đồng bộ hóa" Git tổng thể. Các lệnh đồng bộ hóa hoạt động trên các nhánh từ xa được định cấu hình bằng lệnh 7. Có thể coi 5 và lệnh 'tải lên' trong khi đó, 6 và 9 có thể được coi là lệnh 'tải xuống'. Khi các bộ thay đổi đã được di chuyển thông qua tải xuống hoặc tải lên, một 0 có thể được thực hiện tại đích để tích hợp các thay đổiĐẩy vào kho trốngMột thực tiễn Git hiện đại, được sử dụng thường xuyên là có một kho lưu trữ 1 được lưu trữ từ xa hoạt động như một kho lưu trữ gốc trung tâm. Kho lưu trữ gốc này thường được lưu trữ bên ngoài trang web với bên thứ 3 đáng tin cậy như Bitbucket. Kể từ khi đẩy các mớ hỗn độn với cấu trúc nhánh từ xa, việc đẩy tới các kho lưu trữ đã được tạo bằng cờ 1 là an toàn nhất và phổ biến nhất. Các repo trần không có thư mục làm việc nên việc đẩy sẽ không làm thay đổi bất kỳ nội dung thư mục làm việc nào đang diễn ra. Để biết thêm thông tin về việc tạo kho lưu trữ trống, hãy đọc về 3lực đẩyGit ngăn bạn ghi đè lên lịch sử của kho lưu trữ trung tâm bằng cách từ chối các yêu cầu đẩy khi chúng dẫn đến việc hợp nhất không chuyển tiếp nhanh. Vì vậy, nếu lịch sử từ xa khác với lịch sử của bạn, bạn cần kéo nhánh từ xa và hợp nhất nó với nhánh cục bộ, sau đó thử đẩy lại. Điều này tương tự như cách SVN giúp bạn đồng bộ hóa với kho lưu trữ trung tâm thông qua 4 trước khi thực hiện một bộ thay đổiCờ 8 ghi đè hành vi này và làm cho nhánh của kho lưu trữ từ xa khớp với nhánh cục bộ của bạn, xóa mọi thay đổi ngược dòng có thể đã xảy ra kể từ lần kéo cuối cùng của bạn. Lần duy nhất bạn cần phải ép buộc đẩy là khi bạn nhận ra rằng các cam kết bạn vừa chia sẻ không hoàn toàn đúng và bạn đã sửa chúng bằng 6 hoặc một cuộc nổi loạn tương tác. Tuy nhiên, bạn phải hoàn toàn chắc chắn rằng không có đồng đội nào của bạn thực hiện các cam kết đó trước khi sử dụng tùy chọn 8ví dụĐẩy git mặc địnhVí dụ sau đây mô tả một trong những phương pháp tiêu chuẩn để xuất bản các đóng góp cục bộ vào kho lưu trữ trung tâm. Đầu tiên, nó đảm bảo rằng máy chủ cục bộ của bạn được cập nhật bằng cách tìm nạp bản sao của kho lưu trữ trung tâm và khởi động lại các thay đổi của bạn trên chúng. Rebase tương tác cũng là một cơ hội tốt để dọn dẹp các cam kết của bạn trước khi chia sẻ chúng. Sau đó, lệnh 5 sẽ gửi tất cả các lần xác nhận trên máy chính cục bộ của bạn tới kho lưu trữ trung tâm 1Vì chúng tôi đã đảm bảo rằng mạng chính cục bộ được cập nhật nên điều này sẽ dẫn đến quá trình hợp nhất tua nhanh và 5 không nên phàn nàn về bất kỳ vấn đề không chuyển tiếp nhanh nào đã thảo luận ở trênlực đẩy sửa đổiLệnh 50 chấp nhận tùy chọn 51 sẽ cập nhật cam kết trước đó. Một cam kết thường được sửa đổi để cập nhật thông báo cam kết hoặc thêm các thay đổi mới. Khi một cam kết được sửa đổi, một 5 sẽ không thành công vì Git sẽ xem cam kết đã sửa đổi và cam kết từ xa dưới dạng nội dung phân kỳ. Tùy chọn 8 phải được sử dụng để đẩy một cam kết đã sửa đổi
Ví dụ trên giả định rằng nó đang được thực thi trên một kho lưu trữ hiện có với lịch sử cam kết. 6 được sử dụng để cập nhật cam kết trước đó. Cam kết đã sửa đổi sau đó được đẩy bằng cách sử dụng tùy chọn 8Xóa một nhánh hoặc thẻ từ xaĐôi khi các chi nhánh cần được dọn dẹp để lưu giữ sổ sách hoặc mục đích tổ chức. Xóa hoàn toàn một nhánh, nó phải được xóa cục bộ và cả từ xa
Ở trên sẽ xóa nhánh từ xa có tên branch_name chuyển tên nhánh có tiền tố là dấu hai chấm tới 5 sẽ xóa nhánh từ xa |