- 从远端仓库获取最新代码合并到本地分支里
在日常开发中,很有可能几个终端都在开发同一个代码仓分支,导致本地分支里的代码“落后于”远端分支里的,我们需要做的就是从远端仓库获取最新代码合并到本地分支里。
git pull
- 获取最新代码到本地,并自动合并到当前分支,前提是已经 “git init”
- 首先我们用命令行 去查询当前代码仓的远端分支
1
git remote -v
- 然后直接去拉取并合并最新的代码(因为是直接合并,无法提前处理冲突,不推荐)
- 即拉取远端origin/master分支并合并到当前分支
1
git pull origin master
- 即拉取远端origin/test分支并合并到当前分支
1
git pull origin test
git fetch + merge (需要额外的本地分支)
首先我们用命令行去查询当前代码仓的所有远端分支
1
git remote -v
然后用命令行获取最新代码到本地临时分支(自定义为tempBranch),获取到的远端分支为origin/dev
1
git fetch origin dev:tempBranch
用命令行去查看本地tempBranch分支和当前分支的版本差异
1
git diff tempBranch
接着用命令行合并本地临时分支tempBranch到当前分支
1
git merge tempBranch
最后用命令行来删除该临时分支
1
git branch -D tempBranch
这种方式需要建立并删除这个额外的本地分支
git fetch + merge (不额外建立本地分支)
- 首先我们用命令行去查询当前代码仓的所有远端分支
1
git remote -v
- 然后用命令行来获取远端的origin/dev分支的最新代码到本地(假设本地当前分支为dev)
1
git fetch origin dev
- 接着用命令行去查看本地dev分支和当前分支的版本差异
1
git log -p dev..origin/dev
- 最后用命令行来合并远端分支origin/dev 到当前分支
1
git merge origin/dev
- 这种方式可以不用额外建立本地分支
- 首先我们用命令行去查询当前代码仓的所有远端分支
git fetch + reset + pull
放弃修改,强制覆盖本地代码
1 2 3
git fetch --all git reset --hard origin/main # origin 是远端的意思 git pull
git push
强制提交本地分支覆盖远程分支
1 2
# git push origin --force <branch_name> git push --force origin main