重命名分支并将“新”分支推送到远程

时间:2014-02-24 16:16:11

标签: git version-control

在我正在进行的项目的DEV环境中,我在Mac上运行虚拟机来模拟应用程序生成的Visual Studio。虚拟机已安装到我的Mac上,已经创建并配置了Git环境。我想通过将其重命名为其他内容来区分我开始处理的分支版本(当前本地分支称为“master”)。同时,我想确保远程“主”分支是持久的,因为这是别人的分支。

根据我的理解,我应该使用

重命名我的本地分支
git branch -m my-new-branch-name
然后我可以做拉 - > push和我的新分支将是可访问的,我的工作分支/它的远程名称将是'my-new-branch-name'。

这是正确的行动方案吗?

2 个答案:

答案 0 :(得分:1)

如果您从主人的当前位置创建分支,则您的本地分支将被命名为my-new-branch-name,推送后,远程版本将为origin/my-new-branch-name,假设您的远程名称为origin (我相信,这是默认的。)

master应该是主要分支。如果您正在与需要在单独分支上工作的其他人一起工作,那么他们也应该从master分支出来。当然,这完全取决于您的团队用于版本控制的模式。

Coding Horror有一篇很棒的文章,解释了如何在版本控制中使用分支的最常用模式。我建议您阅读并确定您的团队使用哪种模式或最适合您的团队。

例如,在我的工作中,我们每个任务使用一个分支,在部署到生产之前不久将它们合并到master进行测试。有时我们会直接对master进行小的(1-2行)或时间关键的更改,但我们总是要求同事在提交之前检查更改。

就git而言,除了你的远程分支origin/my-new-branch-name而不是my-new-branch-name之外,你的计划听起来是正确的。

答案 1 :(得分:0)

是。你正在做正确的事情。这是简短的回答。

但是,如果你是git的新手,你可能会被抓住或卡住,所以我将引导你完成这个过程。

如果您尚未提交更改,可以在遥控器上执行以下操作:

git stash
git checkout -b my-new-branch-name master 
git stash apply
git add . 
git commit -m 'committing new changes' 
git push origin my-new-branch-name

git-stash命令只是暂时存储您的更改,以便您可以安全地结帐,然后git-stash apply重新应用它们。这仅适用于未提交的更改。

如果您已将更改提交给master,则只需创建与原始帖子相同的分支,但您可能还希望从本地主分支中删除更改。

git branch my-new-branch-name master
git reset --hard origin/master

这将使用新提交创建新分支,然后将本地主分支重置为远程主分支中的任何内容。

完成后,您可以转到本地计算机(或同一个仓库的任何其他克隆),然后下拉该分支。

git fetch
git checkout my-new-branch-name