2013-03-14 43 views
1

我對代碼做了一些更改。Git獲取/合併不起作用

  • 混帳添加-A
  • git的承諾-m 「」
  • 混帳推起源主

! [rejected] master -> master (non-fast-forward) error: failed to push some refs to '.....' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details.

  • 混帳取起源主

remote: Counting objects: 42, done. remote: Compressing objects: 100% (26/26), done. remote: Total 26 (delta 17), reused 0 (delta 0) Unpacking objects: 100% (26/26), done. From ...... * branch
master -> FETCH_HEAD

  • GIT中合併主

Already up-to-date.

  • GIT中合併原點/主

Already up-to-date.

  • GIT中合併原點/主主

Already up-to-date. Yeeah!

  • 混帳推起源主

! [rejected] master -> master (non-fast-forward) error: failed to push some refs to '....' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details.

那麼一樣了。

發生了什麼事?使用git pull它可以工作,但我認爲使用fetch/merge會更好,所以請告訴我我做錯了什麼。

+0

如果有什麼我不能忍受看到了'已經是最新的.'信息:D – 2017-07-03 12:34:15

回答

3

git pull將導致與git fetchgit merge完全相同的結果。

git fetch取決於你怎麼稱呼它有點不同。 通常你只需撥打git fetch。這將更新來自所有遠程分支。 然後你自己的分支仍然master而遠程分支是origin/master,因此,如果你想合併origin/mastermaster你必須結帳mastergit merge origin/master

git fetch origin master將只取一個分支並將其存儲到名爲FETCH_HEAD的臨時分支中。你可以使用git merge FETCH_HEAD合併它。

但你可能只想做一個簡單的git pull。 ;)

提示:使用git branch -av查看所有本地和遠程分支。

+0

謝謝,這工作。假設我使用git fetch,它將更新3個分支。 branch1,branch2,branch3,現在我只想合併branch1和branch3。 (將每個分支合併到它的原點,而不是在一起)。我怎麼做? – gisek 2013-03-14 23:21:23

+0

'git checkout master; git merge origin/branch1; git merge origin/branch3' - 合併將始終將給定的分支合併到當前分支中,因此您只需合併第一個分支和第二個分支。你也可以將'git merge origin/branch1 origin/branch3'同時合併。 – michas 2013-03-14 23:31:47

0

你已經檢查了哪些分支? git merge origin/master master不針對master:您始終合併到當前分支。

+0

我在主分支。我只是在嘗試所有的組合:D。那麼,如何正確地做到這一點? – gisek 2013-03-14 23:12:41