0


【Git】git提交代码到指定分支(远程已有分支和远程没有分支)图文并茂、详细步骤说明

1.远程仓库已有分支的情况下提交代码至这个分支

** 问题出现场景:**

在公司中部门其他人员已经创建了某个分支,要求我们在这个分支进行开发,这时候我们就遇到了以下问题:我们本地默认是只有master/main分支,那如何提交代码到上述远程分支呢?

** 问题解决策略:**

第一步:查看本地分支:****git branch

** 第二步:查看远程分支:git branch -a**

(因为手头没有做示例的git仓库,所以p图假设一下,这里V1.0本地没有的远程分支)

第三步:创建一个本地分支V1.0用来关联远程分支V1.0

** git checkout -b V1.0(分支名,可以随便起) origin/V1.0**

第四步:git branch、git branch -a 查看分支情况

** 这时会发现本地和远程分支都已经切换到了V1.0上**

**第五步: 1.**git add . 2.git commit -m "备注信息" 3.git pull 4. git push

2.远程仓库没有分支,想要创建一个新的远程分支并且将代码提交到这个分支

    **问题出现场景:**

在上述第一种情况中提到了部门其他人员已经创建了某个分支,要求我们在这个分支进行开发,那么他们在创建这个分支后肯定要将项目代码也提交到这个分支上,然后再给我们开发。所以他们是怎么创建一个新的远程分支并且将代码提交上去的呢?

   ** 问题解决策略:**

第一步:查看远程和本地的当前分支:git branch -a 、 git branch

第二步:创建一个本地分支:git checkout -b V1.1(分支名)

此时再查看本地分支和远程分支,我们发现本地分支切换到了V1.1,但是远程却没有这个分支!

第三步:建立本地分支和远程分支的关联(创建远程分支)

           **git push --set-upstream origin V1.1(分支名)**

此时再查看远程是否成功创建了V1.1这个分支

看下图可以发现V1.1远程分支已经创建,并且当前分支也切换到了V1.1

这就说明了本地V1.1和远程V1.1分支已经成功关联,可以进行提交代码的操作了!

第四步:**拉取、提交、推送 1.git add . 2.git commit -m "备注信息" 3.git pul **4.git push

如图成功提交代码!

补:当我们commit之后 发现自己的-m" " 的备注写错了 或者突然发现想要提交的代码还有问题需要修改,那怎么撤销commit进行回滚呢?

可以使用命令:git reset --soft HEAD^ 这样就成功撤销了commit。

解释:

HEAD^ 表示上一个版本,即上一次的commit,几个^代表几次提交,如果回滚两次就是HEAD^^。也可以写成HEAD~1,如果进行两次的commit,想要都撤回,可以使用HEAD~2。​

--soft不删除工作空间的改动代码 ,撤销commit,不撤销add

​--hard删除工作空间的改动代码,撤销commit且撤销add

​如果commit后面的注释写错了,先别急着撤销,可以运行git commit --amend 进入vim编辑模式,修改完保存即可

另外,在IDEA中直接输入git reset --soft HEAD^会提示more,这是什么意思,又该如何解决呢?

** 原因:这是因为cmd控制台中换行符默认是 ^ ,而不是\ ,所以它的 more?的意思是问你下一行是否需要再输入,而 ^ 符号就被当做换行符而被 git 命令忽略掉了。**

解决办法:

方法一:加引号:git reset --hard “HEAD^”
方法二:加一个^:git reset --hard HEAD^^
方法三:换成:git reset --hard HEAD 或者 git reset --hard HEAD~1
~ 后面的数字表示回退几次提交(上面1次为例)

如果这篇文章帮助到了您,请给博主点个关注和赞吧!

标签: git github linux

本文转载自: https://blog.csdn.net/qq_44624536/article/details/119378542
版权归原作者 小树ぅ 所有, 如有侵权,请联系我们删除。

“【Git】git提交代码到指定分支(远程已有分支和远程没有分支)图文并茂、详细步骤说明”的评论:

还没有评论