我發現以下問題推我的GIT(到位桶)庫。爲什麼我不能在我的GIT存儲庫上推送此提交?錯誤:未能推動一些裁判給my_repo
如果我做混帳推我得到了以下錯誤消息:
$ git push
fatal: You are not currently on a branch.
To push the history leading to the current (detached HEAD)
state now, use
git push origin HEAD:<name-of-remote-branch>
於是,我就做混帳推起源主,但給我下面的錯誤消息:
$ git push origin master
To https://bitbucket.org/AndreaNobiliProjects/glis-trigger.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://[email protected]/AndreaNobiliProjects/glis-trigger.git'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
可能是什麼問題?我怎樣才能解決它?
我解釋一下我以前做過獲得此錯誤消息:
- 我試着把但我不能,因爲在倉庫有另一個人做了一些改動。
- 我從倉庫拉,但是我不想用這些變化,所以我代替我與我的版本項目的內容(我已經拉之前做一個備份)。
- 我承諾並再次推送,我正在獲取此錯誤。
我能做些什麼來解決這種情況呢?
好的......我想了解......什麼是「快進推」?我該做什麼?從我所瞭解的我必須採取我的備份(我的代碼版本),然後執行「git pull --rebase origin master」。究竟在做什麼? – AndreaNobili
這個rebase不可能產生預期的結果。這裏需要什麼,因爲樹已知處於目標狀態,更像是「重新裝修」;而不是通過'filter-branch'來完成這個工作,你可以使用類似我的答案中的程序爲master準備一個新的提交。 –
@AndreaNobili推送實際上是將您的本地分支合併到遠程回購中的遠程目標分支。如果遠程目標分支的頭部是本地分支頭部的祖先,則推送將是快進合併。如果不是這兩個分支是分開的。假設本地分支是a-b-c-d,目標是a-b-c-e。 e不是d的祖先。通過'git pull --rebase',本地將成爲a-b-c-e-d'。現在e是d'的祖先。推動將是一個快速推進。快速合併和真正合並在'git merge --help'中解釋。 – ElpieKay