当前位置:   article > 正文

【Git】git提交代码到指定分支(远程已有分支和远程没有分支)图文并茂、详细步骤说明_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

解释:

  1. HEAD^ 表示上一个版本,即上一次的commit,几个^代表几次提交,如果回滚两次就是HEAD^^。也可以写成HEAD~1,如果进行两次的commit,想要都撤回,可以使用HEAD~2。​
  2. --soft不删除工作空间的改动代码 ,撤销commit,不撤销add
  3. ​--hard删除工作空间的改动代码,撤销commit且撤销add
  4. ​如果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次为例)

 

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/811289?site
推荐阅读
相关标签
  

闽ICP备14008679号