首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git分支分流问题与工作流程

Git分支分流问题与工作流程
EN

Stack Overflow用户
提问于 2013-01-08 04:25:47
回答 2查看 2.2K关注 0票数 0

我怀疑我所遵循的工作流程是否正确,或者我是否把情况搞砸了。

我在本地和远程创建的分支上开发了一个新特性。我是唯一在做这件事的人。

我创建它时使用:

代码语言:javascript
复制
git checkout -b rotation upstream/master

现在我做了一些改变,并提出了如下建议:

代码语言:javascript
复制
git commit

并将更改推送到远程分支:

代码语言:javascript
复制
git push origin rotation

我的问题现在开始了。此时我输入了git fetch upstream

当我git status的时候,

代码语言:javascript
复制
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)

我被分道扬镳的信息弄糊涂了。

  1. 这里有什么问题吗?
  2. 如果我继续在这里做出改变并向上游推进,会有什么问题吗?
  3. 如果出了问题,最好的纠正方法是什么?

我对git很陌生。以前我只使用过VSS。

编辑:

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-08 07:15:05

upstream的想法是允许您自己的回购在upstream回购的最新基础上重新定位。

这样,你就可以跟上上游,同时推动你自己对'origin‘的贡献(这是一个叉子:你拥有的upstream回购的克隆)。

你可以推到origin。你不能推到upstream (你不是一个贡献者)

见" in GitHub?

在您的例子中,我建议您,因为upstream/master有它自己的历史记录(与您的更改并行)

代码语言:javascript
复制
git checkout rotation
git rebase upstream/master
git push -f origin rotation

请注意,您是强制推进(即重新创建您的更改历史)在您的分叉origin/rotation:如果没有其他贡献者已经从您的叉子,这不应该是一个问题。

您在rotation上的工作将基于upstream/master的最新版本,这将简化您可能想要做的future pull request

票数 1
EN

Stack Overflow用户

发布于 2013-01-08 04:57:16

你把rotation推到了origin上,但是你从upstream那里得到了它。这是两个不同的遥控器,因此有着不同历史的两种不同的回放。

代码语言:javascript
复制
# list remotes
git remote -v
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14208200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档