问题1:如果修改了文件,切分支时如果和目标分支文件冲突就无法切换。
解决方案:
1.先 git stash ,将改动文件添加到暂存区
2.再切换分支
3.在新分支工作结束后切回现在的分支,再 git stash pop ,将暂存区的文件释放出来。
注:在切换分支后容易产生冲突,不得已的方法是
git reset --hard origin/branchname
git pull
其中,branchname是远程分支名。
这个命令是用远程分支branchname的代码覆盖本地代码。
问题2:修改了文件,在master上拉取新分支
1:先 git stash ,将改动文件添加到暂存区
2: git checkout master 却换到master分支
3: git pull 更新到最新代码
4: git checkout -b dev 创建新分支并切换到该分支
5:git push origin dev 推送新分支到远程仓库
6:git branch --set-upstream-to=origin/dev 关联远程仓库
7:git pull 尝试拉取验证
8:git stash pop
问题3:合并分支
我的开发分支是dev,需要合并到master上
1:在dev分支,git pull
2:切换到master分支。git pull,这样本地就是master代码了。
3:合并。把远程的dev分支合并到本地master分支。git merge origin/dev -m '@taskid@hsl@addrole'
4:推送到远程master分支。git push
更新:
在合并分支前,最好先把目标分支master合到自己分支dev上,俗称追版,在自己分支上解决完冲突再合到master上。
问题4:切分支出现:HEAD detached
远端有dev分支,本地没有
git checkout --track origin/dev
本地有dev分支,远端没有
git push --set-upstream origin dev