Những gì tôi có thể làm gì để tránh nhận được thông báo sau khi tôi đẩy một chi nhánh tính năng lần thứ hai:Không thể đẩy một số refs khi đẩy tính năng chi nhánh
git pull origin sprint_branch1
git checkout -b feature_branch
date > a.txt
git add a.txt
git commit -m 'added date'
git push origin feature_branch
:
To https://github.com/xxx/git_test.git
! [rejected] feature_branch -> feature_branch (non-fast-forward)
error: failed to push some refs to 'https://github.com/xxx/git_test.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Những gì tôi làm điều này là
ai đó làm một bài đánh giá mã cho tính năng của tôi và người khác làm thay đổi đối với sprint_branch trong thời gian trung bình:
git checkout sprint_branch1
date > a.txt
git add a.txt
git commit -m 'added another date'
git push origin sprint_branch1
tôi cần phải cải thiện tính năng của tôi vì vậy tôi làm
git checkout feature_branch
git fetch origin
git rebase origin/sprint_branch1
tôi nhận được xung đột nhập và làm:
nano a.txt # removing inserted merge tags
git add a.txt
git rebase --continue
sau đó tôi cải thiện tính năng của tôi
date >> a.txt
git add a.txt
git commit -m 'add another date again'
Tôi thích để đẩy feature_branch tôi cho đánh giá thứ hai
git push origin feature_branch
Tuy nhiên tôi nhận được thông báo lỗi được đề cập ở trên cùng. Git khuyên tôi nên sử dụng git pull, nhưng những người khác khuyên tôi nên sử dụng công việc rebase. Vậy tôi nên làm gì để đẩy feature_branch? Tôi có nên tạo một nhánh mới có tên feature_branch_v2 và đẩy nó không? Tôi có cần phải nhớ những tập tin để git thêm vào trong trường hợp đó hoặc tôi nên thêm tất cả mọi thứ (tạo ra một cam kết lộn xộn)? Có cách nào tốt hơn để đẩy mà không nhận được thông báo lỗi này không?
'git push -f' Hôm nay, tôi" mất "99 commit của lịch sử từ xa .. Tất nhiên tôi có thể đưa họ trở lại điều khiển từ xa, nhưng phải mất rất nhiều thời gian và công sức. – hek2mgl