0

我做了以下事情:

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

从我的原始服务器,我做了以下事情:

git merge mybranch

我的所有更改现在都存在于原始服务器上,但是 git(和我自己)现在似乎非常困惑。当我git status在源上执行 a 时,我添加的两个新文件存在,但列为未跟踪文件。但是,修改后的文件并未列为已修改。

当我git status在远程服务器上执行操作时,我收到错误Your branch is ahead of 'origin/master' by 1 commit。

当我git diff origin/master在远程服务器上执行操作时,我的所有更改都被列为原始服务器上不存在。

这里发生了什么?

4

2 回答 2

1

在你的主人中做一个 git pull 然后再次合并
你目前在哪个分支上?

通常是这样的:

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
于 2012-05-30T16:20:48.883 回答
0

您只将 mybranch 推送到您的遥控器。这就是为什么在将它合并到遥控器上的 master 后,您会收到“提前 1”消息。这不是错误。

执行 git fetch,您将获得最新的同步信息。

听起来你不明白 Git 的历史结构是如何构建的。谷歌搜索“计算机科学家的 git”以获得快速概览,或花一些时间阅读 progit.org/book。

于 2012-05-30T18:50:35.283 回答