2012-05-30 38 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。

相关问题