2012-05-30 65 views
0

我也做了以下內容:'您的分支在1次提交之前超過'origin/master'。'合併後

git add <filenames> 
git commit 
git push origin master:mybranch 

從我的原始服務器,我做了以下內容:

git merge mybranch 

我所有的變化,現在出現在源服務器上,但是git的(和我自己)現在似乎令人難以置信的困惑。當我在原點上做了git status時,我添加了兩個新文件,但列爲未跟蹤文件。但是,修改的文件未列爲已修改。

當我在我的遠程服務器上執行git status時,我收到錯誤您的分支在1次提交之前位於'origin/master'之前。

當我在遠程服務器上執行git diff origin/master時,我的所有更改都列爲在原始服務器上不存在。

這是怎麼回事?

+0

你的問題令人難以置信的困惑。 'origin'是一個遠程倉庫,它在不同的倉庫中有所不同。 對於問題中的每臺機器,請執行'git remote -v'並列出輸出結果(包括修剪後的網址或其他內容)。 否則無法弄清楚你在說什麼。 – FelipeC

回答

1

做一個git拉你的主人,然後再合併
你目前哪個分支?

通常這是怎麼一回事呢:

git checkout somebranch 
*make some changes 
git add *any new files here* 
git commit -am "commit message" 
git checkout master 
git pull origin master 
git merge somebranch 
git push 

如果主分支曾在它的任何變化,當你拉你需要將這些變化在合併到工作分支。

git checkout somebranch 
git merge master 
+0

checkout命令在做什麼? –

+0

您需要結賬才能從一個分支切換到另一個分支。當你在「somebranch」中進行更改並且想要將這些更改合併到「master」分支時,首先需要切換到「master」,然後合併「somebranch」中的內容。第二個簽出將合併任何把主人變成「多分支」,也就是說,如果別人在你的「多枝」工作中改變主人的某些東西 – madmaze

+0

這也許是一些很好的材料來閱讀http://git-scm.com/book/en/Git-Branching基本分支與合併 – madmaze

0

您只將mybranch推送到您的遙控器。這就是爲什麼當你將它合併到遠程主機後,你會得到一個「前進1」的信息。這不是一個錯誤。

做一個混帳抓取,你會有最新的同步。

聽起來像你不明白Git的歷史結構是如何構建的。谷歌爲「計算機科學家git」獲得快速概述,或花一些時間閱讀progit.org/book。

相關問題