3

我已经搜索了所有其他网络并阅读了许多说明,但它只是不起作用和/或表现出我的预期。

我在 master 工作,刚刚完成了我项目的 0.1 版本的工作,并想从它分支出来,以便获得一个易于访问的 0.1 快照。我目前在 master 工作,所以我跑了:

git branch 0.1

这很好地在我的机器上创建了一个分支,但我一生都无法弄清楚如何推动它。我最终跑了:

git config push.default current

现在我可以使用以下方式在项目之间交换:

git checkout

而且我能够很好地推动它们,并且在 github 上有两个分支。然后我在 0.1 中添加了一个日志文件,它简单地说“0.1 快照测试”,提交并推送它。然后我决定我想要那个登录到主分支,所以我跑了:

git merge 0.1

然后我推了它。这现在在我的机器上保留了 0.1,但从 github 中删除了 0.1。编辑:实际上它似乎仍在 github 上,只是在查看整个母版页时被隐藏了。

我想我不太确定应该如何使用 git 来跟踪以前但已完成的版本。我应该分支和合并哪个顺序?是不是因为我在师父工作,所以搞糊涂了?我通读了所有这些,但它让我更加困惑:http: //git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging

4

4 回答 4

2

我真的很喜欢 Git 流程的工作方式。当然,您可以手动执行所有分支、合并和标记步骤,但在我看来,Git 流程更清楚地说明了这一点:

http://jeffkreftmeijer.com/2010/why-arent-you-using-git-flow/

http://nvie.com/posts/a-successful-git-branching-model/

于 2012-09-26T17:52:45.387 回答
2

您的问题仅与推送有关吗?

你可以这样做:

git push origin master
git push origin 0.1
-- or all
git push --all origin

甚至对于所有分支:

设置 git 拉取和推送所有分支

于 2012-09-26T17:57:04.440 回答
1

当你在 git 上创建一个新分支时,第一次推送应该引用原点:

git push origin 0.1

希望我得到了这个问题的正确结果。

于 2012-09-26T17:56:07.283 回答
1

如果 push 没有像你期望的那样自动工作,你总是可以明确的:

git push origin localBranchName:remoteBranchName

这会将本地分支推送到远程分支,如果远程服务器上没有这样的分支,则会创建它。

您可以使用类似的语法删除远程分支:

git push origin :remoteBranchName
于 2012-09-26T17:57:05.610 回答