2

摘要:(
我对 git 很陌生;)
试图像这里描述的那样工作:http: //nvie.com/posts/a-successful-git-branching-model/
但是我似乎想念了解如何工作有几个分支(即 master、develop、hotfix)

  • 我应该在签出第三个分支时使用“stash”吗(来自 master 的修补程序,在开发中)
  • 我想念某事吗?使用“推”时

详细说明:
我用 gitolite 创建了一个 repos:

  • 称为“BE”,来自 origin master
    (第一次使用:git push origin master)
  • 添加了一些文件并推送它们
    ( git add.; git commit -m "bla"; git push )
  • 然后是一个分支起源
    ( git checkout -b develop master )
  • 添加了一些文件并推送它们
    (...; git push origin develop )
  • 现在我想从名为 hotfix_3.0.1 的“master”创建一个早午餐
    ( git checkout -b hotfix-3.0.1 master )

=> 我遇到了一个问题:

错误:您对以下文件的本地更改将被结帐覆盖:
....
请在切换分支之前提交您的更改或存储它们。
中止

==== 问题是:
如何建立两个分支同时工作?
在从 master 签出新分支之前,我应该将我的更改存储在“develop”-brunch 中吗?

4

2 回答 2

0

如果你真的需要同时在两个分支上工作,你可以很好地克隆你的 repo 两次。
这样可以避免结帐步骤出现任何问题。

如果您在同一个仓库中工作,那么初始推送应该是:

git config push.default simple
git push -u origin master
# or
git push -u origin develop

请参阅“为什么我需要显式推送新分支? ”:将设置origin/master为 的上游分支master让您可以简单地git push用于所有后续推送。
使用“ simple”推送策略,只会将当前分支推送到上游分支。

于 2013-07-09T11:43:54.977 回答
0

一次只能激活一个环境。在切换到新分支之前,您需要stash(暂停一些临时工作,以便稍后检索)您的更改或它们。commit

如果您非常确定您的更改,只需提交它们:毕竟,它是一个开发分支并且据说是不稳定的(如果您不推送它们,它们会留在本地,您可以恢复提交或使用变基压缩它之前推动)

于 2013-07-09T11:32:18.153 回答