我怀疑我所遵循的工作流程是否正确,或者我是否把情况搞砸了。
我在本地和远程创建的分支上开发了一个新特性。我是唯一在做这件事的人。
我创建它时使用:
git checkout -b rotation upstream/master现在我做了一些改变,并提出了如下建议:
git commit并将更改推送到远程分支:
git push origin rotation我的问题现在开始了。此时我输入了git fetch upstream。
当我git status的时候,
vinayan@vinayan-MS-7623:~/QgisGitWorking/Quantum-GIS$ git status
# On branch rotatation
# Your branch and 'upstream/master' have diverged,
# and have 4 and 5 different commits each, respectively.
#
nothing to commit (working directory clean)我被分道扬镳的信息弄糊涂了。
我对git很陌生。以前我只使用过VSS。
编辑:
vinayan@vinayan-MS-7623:~/QgisGitWorking/Quantum-GIS$ git remote -v
origin git@github.com:vinayan/Quantum-GIS.git (fetch)
origin git@github.com:vinayan/Quantum-GIS.git (push)
upstream git://github.com/qgis/Quantum-GIS.git (fetch)
upstream git://github.com/qgis/Quantum-GIS.git (push)发布于 2013-01-08 07:15:05
upstream的想法是允许您自己的回购在upstream回购的最新基础上重新定位。
这样,你就可以跟上上游,同时推动你自己对'origin‘的贡献(这是一个叉子:你拥有的upstream回购的克隆)。
你可以推到origin。你不能推到upstream (你不是一个贡献者)
见" in GitHub?“

在您的例子中,我建议您,因为upstream/master有它自己的历史记录(与您的更改并行)
git checkout rotation
git rebase upstream/master
git push -f origin rotation请注意,您是强制推进(即重新创建您的更改历史)在您的分叉origin/rotation:如果没有其他贡献者已经从您的叉子,这不应该是一个问题。
您在rotation上的工作将基于upstream/master的最新版本,这将简化您可能想要做的future pull request。
发布于 2013-01-08 04:57:16
你把rotation推到了origin上,但是你从upstream那里得到了它。这是两个不同的遥控器,因此有着不同历史的两种不同的回放。
# list remotes
git remote -vhttps://stackoverflow.com/questions/14208200
复制相似问题