git更新分支(包含冲突处理)

1.首先在写代码之前,先从main分支里面git clone或者git pull一个文件到文件编辑器里

2.修改代码

3.git checkout -b "$branchName"

新建一个分支

4.git add . 

添加更新内容到暂存区

5.git commit -m "commitName"

提交更新内容到本地仓库 命名此刻的提交动作为“commitName” 这个时候$branchName分支就是更新后的内容了

6.git checkout main

切换到主分支

7.git pull origin main

将远程源的主分支内容发送到本地仓库的main分支里

8.git merge "$branchName"

本地仓库中main分支合并$branchName

____________________________________________________

若无冲突:

W9:git add . 

添加更新的内容到暂存区

W10:git commit -m “commitName”

提交更新内容到本地仓库 命名此刻的提交动作为“commitName” 此时main分支就已经是合并之后的内容了

W11:git push origin main

提交给远程库

若有冲突:

Y9:观察一下有冲突的地方,HEAD到==是当前分支的部分 ==到>>>是另外分支的部分 

<<<<<<< HEAD
    console.log('冲突信息')
=======
    console.log('我这里就是有冲突怎么滴')
>>>>>>> chongtu

Y10 可以直接在vscode里面直接改成正确的结果 也可以选择“采用当前更改”,“保留双方更改”等

Y11:git add .

上传冲突解决后的main到暂存区

Y12:git commit -m "commitName" 

上传到本地仓库

Y13 git push origin main

推送到远程仓库

____________________________________________________

后续处理:

D1:若确定分支上的所有更改都已经合并到其他分支,你可以安全地删除分支

git branch -d <branch-name>

D2:如果分支还没有被合并,并且你想无论如何都要删除这个分支,即使可能丢失未合并的提交 

git branch -D <branch-name>

D3.如果需要回退版本 

主分支回退:如果你希望回退整个项目的主要发展线,通常会选择回退 main 分支或其他作为项目主线的分支。

回退 main 分支到某个提交
git checkout main
git reset --hard <commit-hash>
git push origin main -f  # 强制推送以更新远程仓库

分支回退:如果你只想回退某个特性分支或开发分支,只需要在对应分支上执行相同的回退操作。

回退 feature-branch 分支到某个提交
git checkout feature-branch
git reset --hard <commit-hash>
git push origin feature-branch -f  # 如果远程仓库也有这个分支,同样需要强制推送

当然直接用reset --hard太过于直接了 很容易误回

可以用git log先查看历史记录 然后用git checkout <commit-hash>看看是不是你想要回退的版本 

注:原来我觉得git log会显示所有的历史记录 如果主分支回退到了其他分支上怎么办,但其实git log 命令默认会显示当前所在分支的提交记录,也就是说,如果你当前位于 main 分支,它将显示 main 分支的提交历史;如果你在其他分支上运行 git log,它将显示该分支的提交历史。

所以只要在main分支上回退 回退的都是原来在main分支上提交过,不会出现回退到其他分支上。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值