在我正在进行的项目的DEV环境中,我在Mac上运行虚拟机来模拟应用程序生成的Visual Studio。虚拟机已安装到我的Mac上,已经创建并配置了Git环境。我想通过将其重命名为其他内容来区分我开始处理的分支版本(当前本地分支称为“master”)。同时,我想确保远程“主”分支是持久的,因为这是别人的分支。
根据我的理解,我应该使用
重命名我的本地分支git branch -m my-new-branch-name
然后我可以做拉 - > push和我的新分支将是可访问的,我的工作分支/它的远程名称将是'my-new-branch-name'。
这是正确的行动方案吗?
答案 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