git原理

一: 删除切换分支操作

1, 删除分支:git branch -d feature1
注意:
(1)如果想要删除某个分支就不能将该分支作为当前分支,需要切换到其他分支进行删除操作;
(2)如果想要删除某个分支,但是该分支未曾合并到master时,操作删除时会报错(提示未合并)

在这里插入图片描述
如果确认删除时,将-d更改为-D进行删除操作

在这里插入图片描述

2, 切换分支: git checkout ***(分支名称)

3,总结:
branch 的创建、切换和删除:
创建 branch 的方式是 git branch 名称git checkout -b 名称(创建后自动切换)
切换的方式是 git checkout 名称
删除的方式是 git branch -d 名称

二: 代码提交操作

1, 当远程仓库存在该分支时,如果要提交该分支的代码更改时,需要
git add .
git commit -m “”
git push

2, 当在本地通过git checkout -b ***(创建新分支名)更改提交代码时,需要:
git add .
git commit -m “”
git push origin ###(新建分支名)

注意:(问题)

我尝试新建一个分支a,将分支a用命令“git push origin a”推上了远程仓。再新增一个commit,执行“git push”命令报错。根据报错,使用“git branch --set-upstream-to=origin/a a”将远程分支a和本地分支a绑定在一起,再次使用“git push”,正确运行。
这说明并不是说远程分支 a 和本地分支 a 一致就可以直接使用 git push 了。本地分支必须和远程分支有一个绑定关系。

三: git 分支merge(合并)操作

(1) 如果在本地的两条分支(主分支和子分支)都有修改内容,此时要将子分支的内容合并到主分支上时,需要先切换到主分支后再执行: git merge ###(子分支名),用来合并子分支的代码,但主分支和子分支的修改文件不是同一个

冲突解决
(2) 如果在分支A和分支B同时修改同一个文件的同一处,此时就会引起冲突
解决:
1, 手动解决
在这里插入图片描述
可以看到,Git 虽然没有帮你完成自动 merge,但它对文件还是做了一些工作:它把两个分支冲突的内容放在了一起,并用符号标记出了它们的边界以及它们的出处。上面图中表示,HEAD 中的内容是 移动硬盘(已买),而 feature1 中的内容则是 移动硬盘(不买了)。这两个改动 Git 不知道应该怎样合并,于是把它们放在一起,由你来决定。假设你决定保留 HEAD 的修改,那么只要删除掉 feature1 的修改,再把 Git 添加的那三行 <<< === >>> 辅助文字也删掉,保存文件退出,所谓的「解决掉冲突」就完成了。

在这里插入图片描述
2, 放弃解决冲突,取消 merge?

git merge --abort

second git内容学习

代码提交案例
1, 在实际开发中,比如现在需要给移动一级手厅开发个内容,你在原有的主分支的基础上拉去了一个新的分支,然后进行:

git push origin newbranch

git branch --set-upstream-to=origin/newbranch newbranch

2, 然后在编写完代码功能后,执行:

git add .
git commit -m “###”
git push

3, 然后再review代码后需要合并到master分支,操作,将本地新建分支代码合并到远程仓库,

(1)先切换到master分支: git checkout master
(2)然后拉去一下代码: git pull
(3)合并分支: git merge newbranch
(4)推送代码: git push
(5)删除分支: git branch -d newbranch

四。 关于git add的操作

git add . : 来直接把工作目录下的所有改动全部放进暂存区

eg: 如果你再修改一个文件后,执行git add .操作未提交代码,然后又修改了该文件,然后你需要再次执行命令git add .,用来重新提交心脏内容。

比较git add ., git add -A, git add -u的区别:

  • git add -A 提交所有变化
  • git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
  • git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

git rebase 详解:

(1) git merge
在这里插入图片描述
(2) git rebase

在这里插入图片描述

5, 回退:

  • git revert HEAD^ 回退上一次commit提交记录
  • git reset commit ID: 回退代码到指定的提交记录处
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值