当前位置:   article > 正文

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

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到==是当前分支的部分 ==到>>>是另外分支的部分 

  1. <<<<<<< HEAD
  2. console.log('冲突信息')
  3. =======
  4. console.log('我这里就是有冲突怎么滴')
  5. >>>>>>> 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 分支或其他作为项目主线的分支。

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

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

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

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

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

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

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

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

闽ICP备14008679号