我想重置我的本地分支到提交as288sa
。 提交存儲在遠程存儲庫和我的本地存儲庫中。 我想使用--hard
標誌重置。git reset --hard to commit does not work - Tip is HEAD is behind
git reset --hard as288sa
Checking out files HEAD is now at as288sa
然後我想add
和commit
的reset
和push
是提交到遠程倉庫。
git add -A
git commit -m "reseted hard"
On branch myBranch nothing to commit, working tree clean
git push origin myBranch
rejected error: failed to push some refs to [email protected] Updates were rejected because the tip of you current branch is behind its counterpart. Integrate the remote changes (e.g. git pull) before pushing changes
所以我做了一個git pull
,然後git add -A
和git commit
以及一個git push
,並試圖再git reset --hard as288sa
。 我再次收到相同的錯誤消息。
發生了什麼事?
爲什麼我不想用'--hard'標誌''重置'commit'?我知道這會刪除提交前提交的所有'commit',我將它重置爲。但是,如果我不在乎丟失他們?那對其他人會有什麼問題? – Stophface
在任何給定的時間,當從遠程git拉取數據時,假定分支的本地引用與同一分支的遠程引用相同,或者可以從遠程引用(即其祖先)訪問。如果您向後移動分支的遠程參考,然後可能開始將其沿分支路徑向下移動,那麼該回購的其他用戶將會發現該假設被破壞。他們可以恢復,但是如果他們在分支上做了其他更改,他們必須重新設置這些更改。如果回購是共享的,那麼通常會以糟糕的形式刪除已發佈的提交或將已發佈的頭部「向後移動」 –