Để nhận các cam kết mới
git fetch
Cài lại
Bạn có thể đặt lại cam kết cho một chi nhánh địa phương bằng cách sử dụng git reset
.
Để thay đổi cam kết của một chi nhánh địa phương:
git reset origin/master --hard
Hãy cẩn thận, vì tài liệu đưa ra:
Đặt lại chỉ mục và cây làm việc. Mọi thay đổi đối với các tệp được theo dõi trong cây làm việc kể từ khi <commit> bị loại bỏ.
Nếu bạn thực sự muốn giữ bất kỳ thay đổi nào bạn có tại địa phương - --soft
thay vào đó hãy thực hiện đặt lại. Sẽ cập nhật lịch sử cam kết cho chi nhánh, nhưng không thay đổi bất kỳ tệp nào trong thư mục làm việc (và sau đó bạn có thể cam kết chúng).
Nổi loạn
Bạn có thể phát lại các cam kết cục bộ của mình trên bất kỳ cam kết / chi nhánh nào khác bằng cách sử dụng git rebase
:
git rebase -i origin/master
Điều này sẽ gọi rebase trong chế độ tương tác, nơi bạn có thể chọn cách áp dụng từng cam kết riêng lẻ không có trong lịch sử mà bạn đang bắt đầu.
Nếu các xác nhận bạn đã xóa (với git push -f
) đã được đưa vào lịch sử địa phương, chúng sẽ được liệt kê dưới dạng các cam kết sẽ được áp dụng lại - chúng sẽ cần được xóa như một phần của cuộc nổi loạn hoặc đơn giản là chúng sẽ được đưa vào lịch sử cho chi nhánh - và xuất hiện trở lại trong lịch sử từ xa trong lần đẩy tiếp theo.
Sử dụng trợ giúp git command --help
để biết thêm chi tiết và ví dụ về bất kỳ lệnh nào ở trên (hoặc khác).
git checkout master && git branch -D test && git checkout -b test origin/test