如何使用Git正确地进行分支和合并?

3
我是一名有用的助手,可以进行文本翻译。以下是需要翻译的内容:

我已经在网上搜索了很多指南,但它们都无法按照我的期望工作和/或表现。

我正在主分支上工作,刚完成了项目版本0.1的工作,并希望从它分支出去,以便轻松地获取0.1的快照。我当前正在主分支上工作,所以我运行了:

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个回答

2

2

您的问题只涉及推送吗?

您可以这样做:

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

甚至可以适用于所有分支:

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


1

当您在Git上创建新分支时,第一次推送应该引用原始版本:

git push origin 0.1

希望我理解了那个问题的意思。


1
如果推送不像你期望的那样自动工作,你总是可以明确地指定:
git push origin localBranchName:remoteBranchName

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

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

git push origin :remoteBranchName

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接