首页 > 其他分享 >003 git的日常操作-新建分支

003 git的日常操作-新建分支

时间:2024-03-29 23:12:45浏览次数:20  
标签:origin git dev 003 日常 本地 远程 分支

新建分支

一、本地仓库与远程仓库都无此分支

创建本地分支 dev 并将其关联到远程仓库的 origin/dev 分支。

步骤:

  1. 检查当前所在分支,确保不在 dev 分支上:

    git branch
    
  2. 如果不在 dev 分支上,切换到 master 或其他主分支-取决于你想让该分支拥有那个分支的数据:

    git checkout master
    
  3. 然后创建并切换到 dev 分支:

    git checkout -b dev
    

注意:在哪个分支上执行此命令,则创建的分支dev将会包含当前所在分支的所有提交记录和文件内容。但dev分支与当前分支互不影响。

  1. 推送 dev 分支到远程仓库(-u 没有关联远程分支,则实现关联):
    git push -u origin dev
    

二、本地仓库有分支但远程仓库无此分支

如果本地仓库已经有了 dev 分支,但远程仓库没有 dev 分支。

步骤:

  1. 确保你当前在 dev 分支上:

    git checkout dev
    
  2. 将本地 dev 分支推送到远程仓库,并通过-u参数设置远程仓库的 dev 分支跟踪本地的 dev 分支:

    git push -u origin dev
    

这样,你就成功地将本地的 dev 分支推送到了远程仓库,并且设置了远程仓库的 dev 分支跟踪本地的 dev 分支。

二、本地仓库无此分支但远程仓库有此分支

如果本地仓库没有某个分支但远程仓库有这个分支

步骤

  1. 首先,使用以下命令查看远程仓库的分支情况,找到你想要拉取的远程分支名,比如 dev

    git branch -r
    
  2. 然后,使用以下命令将远程分支 dev 拉取到本地并创建一个新的本地分支 dev

    git checkout -b dev origin/dev
    

    这条命令的含义是从远程仓库的 origin 中拉取 dev 分支,并在本地创建一个名为 dev 的新分支,并切换到该分支。

  3. 如果需要将本地的 dev 分支与远程仓库的 dev 分支建立追踪关系(即可以使用 git pullgit push 同步),可以使用以下命令:

    git branch --set-upstream-to=origin/dev dev
    

现在,你已经成功将远程仓库的 dev 分支拉取到了本地,并且可以在本地分支上进行修改和提交。

git branch --set-upstream-to=origin/dev dev

git branch --set-upstream-to=origin/dev dev 这条命令的作用是将本地分支 dev 设置为追踪(track)远程仓库的 origin/dev 分支,使得本地分支能够与远程分支保持同步。

具体解释如下:

  • git branch --set-upstream-to=origin/dev dev:这条命令将本地分支 dev 设置为追踪 origin/dev 分支,即告诉 Git 当前本地分支 dev 对应的远程分支是 origin/dev

通过执行这条命令,你可以使用 git pull 命令从远程仓库的 origin/dev 分支拉取更新到本地的 dev 分支,以及使用 git push 命令将本地的 dev 分支推送到远程仓库的 origin/dev 分支,实现本地分支与远程分支的同步。

git branch --set-upstream-to=origin/dev dev 与git push -u origin dev 的区别?

git branch --set-upstream-to=origin/dev devgit push -u origin dev 都可以用来将本地分支 dev 设置为追踪远程仓库的 origin/dev 分支,但它们的作用略有不同。

  1. git branch --set-upstream-to=origin/dev dev

    • 这条命令只是将本地分支 dev 设置为追踪 origin/dev 分支,但不会立即进行推送或拉取操作。
    • 通常在本地已经有了一个分支,并且想要将其与远程分支建立追踪关系时使用,不会触发推送操作。
  2. git push -u origin dev

    • 这条命令会将本地的 dev 分支推送到远程仓库的 origin/dev 分支,并且设置本地的 dev 分支与远程仓库的 origin/dev 分支建立追踪关系。
    • 如果远程仓库中没有 origin/dev 分支,会创建一个新的 origin/dev 分支,并将本地的 dev 分支推送到远程仓库。
    • -u 参数相当于 --set-upstream,用于设置本地分支与远程分支的追踪关系。

因此,如果你只需要设置本地分支与远程分支的追踪关系而不进行推送操作,可以使用 git branch --set-upstream-to=origin/dev dev;如果需要同时设置追踪关系并推送分支到远程仓库,可以使用 git push -u origin dev

标签:origin,git,dev,003,日常,本地,远程,分支
From: https://www.cnblogs.com/allenxx/p/18104809

相关文章

  • 002 git日常操作-新建项目
    场景1:新建项目1.gitclone是用于从远程仓库克隆项目到本地的命令。最佳实践:选择合适的远程仓库URL:使用HTTPS或SSHURL克隆仓库,取决于你的访问权限和认证方式。SSHURL需要设置SSHkey。克隆到合适的目录:在克隆之前,选择一个合适的本地目录作为克隆仓库的存放位置......
  • congregate迁移gitlab数据
    项目地址:https://gitlab.com/gitlab-org/professional-services-automation/tools/migration/congregate/congregate是一款gitlab官方推出的数据迁移工具,可以方便的把其他SCM系统的项目迁移到gitlab实例本次测试主要是源gitlab实例迁移到目标gitlab实例。安装congrega......
  • 创建Github帐号并完成文档
    操作指导:创建Github帐号并完成文档1.创建Github账号本次课程的授课老师为张翼飞和孟桂英老师,我们负责你们所有的个人和结对作业平时成绩评定,并保证公平、公正,由于每次作业成绩都关系到你的最终成绩,请务必认证对待,成绩方面如有问题请及时与我们中任何一位老师联系。GitHub地址格......
  • 日常训练补题
    7-10红色警报-SMU2024spring天梯赛2(补题)(pintia.cn)题解:这题是一道暴力思维题我们需要先统计一下最初的点的连通块然后在一个个删除,每删除一次就跑一个并查集,在统计连通块的个数,然后对比前一次,看看连通块有没有变多即可#include<bits/stdc++.h>//#pragmaGCCopti......
  • IDEA 上传 git 项目
     1.创建项目:菜单栏找到VCS,创建git仓库,此时代码变红了 2.右击项目找到GIT-->Add,代码绿了 3.存于本地:右击项目 找到Git--> CommitDirectory... 4.此时存在本地git,编辑后点击Commit出错了,不重要。 commit后代码白了。 5.拉取代码,右击项目 ......
  • 【GitLab】Ubuntu使用宝塔安装GitLab最新社区版
    首先在Ubuntu安装宝塔面板在官网可以找到脚本一键安装安装GitLab社区版然后在宝塔面板的“软件商店”里面找到GitLab最新社区版12.8.1一键安装安装过程中可能出现以下问题:1.卡在ruby_block[waitforlogrotateservicesocket]actionrun解决办法:在Ubuntu终端中运行......
  • 如何在极狐GitLab 配置 邮件功能
    本文作者:徐晓伟GitLab是一个全球知名的一体化DevOps平台,很多人都通过私有化部署GitLab来进行源代码托管。极狐GitLab是GitLab在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。本文主要讲述了在极狐GitLab用户找回密码、流水线失败等需要提醒时发送邮......
  • 以我国为目标的网络攻击中发现 DinodasRAT的Linux版本;黑客伪装成印度空军进行钓鱼攻击
    关键词:Linux;TinyTurla-NG;Github;Checkmarx;软件供应链攻击;1.以中国在内的多个国家为目标的网络攻击中发现DinodasRAT的Linux版本卡巴斯基的最新发现揭示,一款名为DinodasRAT的多平台后门程序的Linux版本已在野外被发现,其攻击目标包括中国、台湾、土耳其和乌兹别克斯坦。D......
  • git 忽略idea文件夹
    如果.gitignore文件不存在,在项目的根目录下创建一个名为.gitignore的文件,并在该文件中添加以下内容:.idea/如果.idea文件夹已经被跟踪,运行gitrm--cached.idea来从Git跟踪中移除它,然后再提交这个更改。gitrm-r--cached.ideagitcommit-m"xxxxx"gitpushoriginmast......
  • java计算机毕业设计(附源码)学生日常行为评分系统(ssm+mysql+maven+LW文档)
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在教育过程中,学生的行为举止不仅反映了个人素养,也是学校文化和教育质量的直接体现。传统的德育评价体系多依赖于教师的主观观察和判断,这种方式往往存在一......