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,拉取代码,然后合并,原理是一样的

你可能感兴趣的:(git,github)