首先创建本地分支并切换
//执行
git branch dev
git checkout dev
// 或者执行
git checkout -b dev
这样创建了dev分支并切换到了分支上
查看仓库的所有分支
git branch -a
这时候会列出仓库中的所有分支
关联本地分支到远程分支上
假设仓库中有分支名为 remote/origin/dev的分支
使用命令
git branch --set-upstream-to origin/dev
为什么需要关联远程分支? 因为每次执行 git pull 命令时,都需要在后面加上
两个参数,在关联后,就不需要后面两个额外参数了
同步本地分支到最新
这时候自然想到了使用 git pull ,但是使用命令后会发现出现了大量文件冲突,甚至可能有上百个,这时候显然是不正常的。为什么?
下面看看当前分支示意图
远程分支:
本地分支
远程分支的 child_1 _2 _3 假设都是别人提交的 这时候 远程分支的 master_4 和 child_3
的差异实际上是非常大的。 而本地创建的分支 child_1 是在master_4 的基础上创建的,它们的工作空间的代码都是一样的。所以
master_4 == child_1 这时候如果我们执行 git pull 命令,实际是将远程分支的 child_3 和 master_4
进行合并。自然会出现大量冲突
但是我不需要合并,而是直接切换到 child_3 就好了
所以执行:
git log --graph --decorate --oneline --simplify-by-decoration --all
查看分支结构图
如果远程分支是 origin/master 则找到前面的分支号,然后执行
git reset --hard *******
这时候代码直接切换到了 child_3
然后可以正常工作了