Git đẩy nhánh sang kho lưu trữ khác

Lệnh

# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
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
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
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
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
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

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ờ

# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
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

# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
9. Cờ
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
0 gửi tất cả các thẻ cục bộ của bạn đến kho lưu trữ từ xa

Thảo luận đẩy Git

# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
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ừ xa

Sơ đồ trên cho thấy điều gì sẽ xảy ra khi

# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
0 cục bộ của bạn vượt qua
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
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
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
2. Lưu ý cách
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
5 về cơ bản giống như chạy
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
4 từ bên trong kho lưu trữ từ xa

Đẩy và đồng bộ hóa Git

# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
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
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
7. Có thể coi
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
5 và lệnh 'tải lên' trong khi đó,
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
6 và
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
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
git branch -D branch_name
git push origin :branch_name
0 có thể được thực hiện tại đích để tích hợp các thay đổi

Đẩy vào kho trống

Mộ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ữ

git branch -D branch_name
git push origin :branch_name
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ờ
git branch -D branch_name
git push origin :branch_name
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ề
git branch -D branch_name
git push origin :branch_name
3

lực đẩy

Git 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

git branch -D branch_name
git push origin :branch_name
4 trước khi thực hiện một bộ thay đổi

Cờ

# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
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
git branch -D branch_name
git push origin :branch_name
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
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
8

ví dụ

Đẩy git mặc định

Ví 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

# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
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

# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
1

Vì 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à

# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
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ên

lực đẩy sửa đổi

Lệnh

# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
50 chấp nhận tùy chọn
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
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
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
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
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
8 phải được sử dụng để đẩy một cam kết đã sửa đổi

# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main

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.

git branch -D branch_name
git push origin :branch_name
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
# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
8

Xó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

git branch -D branch_name
git push origin :branch_name

Ở 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

# make changes to a repo and git add
git commit --amend
# update the existing commit message
git push --force origin main
5 sẽ xóa nhánh từ xa