一、 新特性开发,当前处于dev分支
1. git checkout -b xxx origin/dev 创建新的分支
2. 完成特性开发
3. git pull 合并,解决冲突
4. git pr
二、开发完成后,切换回dev分支
1. git checkout dev
2. git fetch
3. git reset --hard origin/dev // 与远程dev分支同步
在每次上传新特性代码时,每次都要新建分支然后提交,这样才会干干净净
如果继续在原来默认的dev分支上提交,每次提交都会导致本地的merge记录在和并记录上边!这样时非常low的,不要这样搞,每次做新需求按上边的过程来就行。
追更补充:
在执行完git fetch
之后,您可以根据需要执行以下操作:
-
检查更改:使用
git log
或git diff
命令检查从远程仓库获取的更改。例如,您可以使用git log origin/dev
查看origin/dev
分支的提交历史,或者使用git diff HEAD origin/dev
查看本地分支与远程分支之间的差异。 -
合并更改:如果您想将获取到的远程分支更改合并到您当前的本地分支中,可以使用
git merge
命令。例如,如果您当前在dev
分支上,可以使用git merge origin/dev
将远程dev
分支的更改合并到本地。 -
切换分支:如果您想在本地创建一个新的分支来跟踪远程分支的更改,可以使用
git checkout
命令。例如,您可以使用git checkout -b new_branch origin/dev
从origin/dev
创建一个新的本地分支new_branch
。 -
拉取更改:如果您想直接拉取远程分支的最新更改并自动合并到您当前的本地分支中,可以使用
git pull
命令。例如,您可以使用git pull origin dev
将远程dev
分支的更改拉取到本地并合并。 -
重置:
git reset --hard origin/dev
命令是一个很好的补充。这个命令可以将当前本地分支重置为远程分支的状态。这在您想要放弃本地分支的更改并直接使用远程分支的更改时非常有用。使用
git reset --hard origin/dev
命令时,请注意以下事项:这个命令将删除本地分支中尚未提交的所有更改,因此请确保在执行此命令之前保存或备份您的工作。在执行这个命令之前,最好确保当前所在的分支是您要重置的分支。您可以使用git branch
命令查看当前所在的分支。总之,如果您想要将当前分支重置为远程分支的状态并放弃本地的更改,git reset --hard origin/dev
是一个很好的选择。但请谨慎使用,以避免意外丢失尚未提交的更改。
根据您的需求和工作流程,选择适当的操作来处理从远程仓库获取的更改。
补充我目前最常用的提交方式:
多文件有冲突的情况下提交代码步骤
git stash 将临时修改的工作目录存到暂存区,这将创建一个stash条目;并将工作目录恢复到上一次提交的状态;(这样下一步git pull可以成功拉去远程仓库的代码)
git pull
git stash pop 应用之前保存的stash目录并将其从stash列表删除,即还原之前暂存的修改到工作目录进行处理这些修改
如果有冲突,要先解决显示的冲突;再git add 和 git commit 来提交修改;
如果没有冲突,直接git commit 提交修改
最后git push。。。
当提交的代码到远程仓库,假如你是79分支,但是没有合并,但是别人在你后面的80,81,82分支都已经合并了;这个时候如果你才合并自己的分支,那么会落后三个分支。这个时候需要git download 79下载你的分支代码,然后 git checkout 切换一个新的分支上面, 然后用git merge dev,去合并最新的代码,然后才提交代码