2
我有點混帳n00b,我在分支上遇到一些困難。我不認爲這個問題已被問到,但它可能只是因爲我不在尋找正確的關鍵字。推一個git分支需要拉另一個?
情況: 我有一個遠程git倉庫和我已簽出機器1 上的主分支我已經做機2上的相同,不同之處在於我已經創建了一個新分支(沙箱)並檢查出。
我在機器2上進行修改,提交和推送東西 - 沒有問題。
然後我就機選擇發生了變化,承諾,並努力推動,但我得到這個錯誤:
To [email protected]:/project.git
! [rejected] sandbox -> sandbox (non-fast-forward)
error: failed to push some refs to '[email protected]:/project.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
如果我做的git拉,我得到:
Already up-to-date.
所以目前我必須
git checkout sandbox
git pull
git checkout master
git push
然後它的一切都好。在我看來,考慮到這些是不同的分支,我不應該在沙盒分支上拉動推動對主分區的更改。如果我試圖合併它們,我可以理解它,但那可能永遠不會發生。
我懷疑我的配置文件是一個有點不對勁,所以這裏是:
(Machine 1 - master) .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[gui]
wmstate = normal
geometry = 1920x970+0+0 368 203
[remote "origin"]
url = [email protected]:/project.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
而且
(Machine 2 - paid) .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git+ssh://[email protected]/project.git
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "sandbox"]
remote = origin
merge = refs/heads/sandbox
應該指出,在同樣的問題發生在翻領 - 推後在主人身上,我無法在沒有檢查主人的情況下推動沙箱,進行拉動然後切換回沙箱。
必須有一個更簡單的方法 - 任何幫助,將不勝感激。