git系列----本地新建分支推送到远程新分支以及合并分支

一、本地新建分支推送到远程新分支

前言

工作学习中,我们经常会有这么一个场景,需要自己搭建项目去实现一个系统或工具,但是不会让你合并到主分支,而是让你在远程仓库新建分支,将本地分支代码推送过去。

步骤实现

假设本地已经有了一个项目,打开文件夹,git bash
1、在本地项目路径创建一个的git仓库,这是本地仓库。

git init

2、把当前文件夹所有文件提交到暂存区(缓存区)

git add .

3、将暂存区所有文件提交到本地仓库并带有提交日志

git commit -m "提交信息或日志记录写这里"

4、新建本地分支并切换

命令说明
git branch 分支创建分支
git checkout 分支切换分支
git checkout -b 分支创建分支并切换
git checkout -b dev

5、本地关联远程仓库

git remote add origin 远程仓库地址

6、本地直接推送到远程仓库的一个新分支(相当于推送的同时在远程仓库创建了一个新分支)

git push origin dev:davon  // <本地新建分支名,或是初始master>:<远程仓库的新分支名>

7、到上一步已经完成了代码提交,此时本地分支实际并没有与远程分支建立联系,需要这一步操作,以后就可以直接提交代码了

 git push --set-upstream origin dev:davon
接下来给予一些命令用于查询

该命令会列出您当前本地的所有分支,并且显示每个分支与它所跟踪的远程分支之间的关系。如果某个本地分支没有跟踪任何远程分支,那么它的远程分支列会是空的。(如果没有执行上面的第七步就会显示空)

git branch -vv
git branch -vv <branch-name>  // 查询指定分支

删除远程仓库中的某个分支

git push <remote> :<branch>

其中,remote 是远程仓库的名称, branch 是要删除的分支名称。可以省略 remote 参数,如果省略,则默认使用远程仓库的 origin 作为远程仓库。
注意,两点之间的空格必须的,它表示将一个空的“对象”推送到远程分支,这样就会删除远程分支。
例如,如果要从远程仓库 origin 中删除名为 feature-branch 的分支,则可以使用以下命令:

git push origin :feature-branch

执行此命令后,远程仓库 origin 中的 feature-branch 分支将被删除。请注意:此命令会直接删除远程分支,因此在执行此命令之前,请确保你了解正在执行的操作,并确保你不会错误删除任何分支。
删除远程仓库分支也可以用下面命令:

git push origin --delete feature-branch

执行此命令后,远程仓库 origin 中的 feature-branch 分支将被删除。请注意,此命令不会删除本地仓库中的分支,如果需要删除本地分支,需要执行下面命令:

git branch -d <branch>

本地分支与远程分支关联,并推送到远程仓库(远程已经存在一个分支)

git push --set-upstream origin master

其他命令:Git本地分支和远程分支关联

二、合并分支

前言

工作中会要合并分支,比如将远程分支pinia合并到当前分支davon中,在这个过程中,我们需要始终保持本地拥有和远程分支一样的结构,也就是说本地也得有pinia分支才行,我们首先来看命令:
1、切换到 davon 分支

git checkout davon

2、从远程仓库 origin 更新本地 pinia 分支

git fetch origin pinia

3、将 pinia 分支合并到当前分支 davon

git merge origin/pinia

如果你想在合并过程中禁用 Fast-forward 模式,可以添加 --no-ff 选项

git merge --no-ff origin/pinia

这样,会产生一次新的提交来标记分支间的合并。
如果在合并过程中发生冲突,你需要解决冲突后再提交合并结果。
如果你使用vscode来提交代码,同样需要更新pinia的本地代码,也就是需要去远程拉取一次,再切换回davon分支去合并分支,提交推送就可以完成。或者你在本地新建一个分支叫pinia,拉取代码,然后合并,原理是一样的

  • 15
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
创建远程分支的方法有两种。第一种是送一个空分支到远程分支,相当于删除远程分支。可以使用以下命令:`$ git push origin :localbranch` 或者 `$ git push origin --delete localbranch`。这两种方式都可以删除指定的远程分支。\[1\] 第二种方法是新建一个本地分支,然后将其送到远程服务器,使远程分支与本地分支同名。可以使用以下命令: ``` $ git checkout -b 分支名 $ git push origin 分支名:分支名 ``` 使用`git branch -a`命令可以查看所有分支,如果看到`remotes/origin/分支名`,则说明新建远程分支成功。\[2\] 这样做的好处是,在主分支上进行开发可能会出现问题,因此可以在主分支上创建一个分支进行开发。开发完成后,可以将分支合并到主分支中。\[3\] #### 引用[.reference_title] - *1* *2* [GIT创建远程分支](https://blog.csdn.net/qq_43679405/article/details/111580590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [git在远程分支创建分支进行开发的流程](https://blog.csdn.net/weixin_44241862/article/details/125920907)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值