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次为例)
如果这篇文章帮助到了您,请给博主点个关注和赞吧!
版权归原作者 小树ぅ 所有, 如有侵权,请联系我们删除。