git常用分支命令回顾
-
git branch
查看本地分支 -
git branch -d dev
删除本地分支 -
git branch -a
可以看到远程仓库的分支 -
git checkout -b dev
创建并切换到dev分支 -
git checkout dev
切换到dev分支 -
git diff HEAD -- readme.txt
可以查看工作区和版本库里面最新版本的区别
git分支开发流程
注意:克隆完项目以后,本地是没有dev分支的,所以要在你的本地先创建dev分支,并关联到远程
- 0.
git clone http://git.meiduo.site/gz12/toutiao-backend.git
- 1.
git branch -a
查看远程仓库的分支 - 2.
git checkout origin/dev
把本地HEAD指向到远程dev分支 - 3.
git checkout -b dev
在本地创建dev分支 - 4.
git branch --set-upstream-to=origin/dev
本地dev分支设置追踪远端dev分支
每次写代码创建分之前
git checkout dev
git pull
-
git checkout -b f_login_zhangsan
先创建f_login_zhangsan新分支再写代码
在分支中写代码
git add .
git commit -m "xxx"
-
git push
(第一次push的时候需要追踪远程分支 git push --set-upstream origin f_login_zhangsan)
写完代码后在GitLab提交 merge request
合并后,更新本地dev分支代码
git checkout dev
git pull
删除本地f_login分支代码
git branch -d f_login_zhangsan
git branch -dr origin/f_login_zhangsan
冲突解决
- 方式一
-
git fetch origin dev
获取最新代码 -
git diff origin/dev
对比代码 - 修改冲突地方后提交并推送
-
- 方式二
-
git pull origin dev
拉取合并最新代码 -
git status
查看冲突代码 - 修改冲突代码后提交并推送
-
版本回退reset
-
git reset --hard commit_id
- HEAD 指向当前版本,HEAD^ 指向上一个版本
-
git log
- 可以查看提交历史,以便确定要回退到哪个版本。
-
git reflog
- 查看命令历史,以便确定要回到未来的哪个版本。
撤销修改
-
git checkout -- file
丢弃工作区的修改- 情况一:文件修改后还没有被放到暂存区,撤销修改就回到和版本库一模一样的状态
- 情况二:文件已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
-
git reset HEAD <file>
把暂存区的修改撤销掉(unstage),重新放回工作区
删除文件
- 场景:
rm <file>
删除工作区的文件,因此,工作区和版本库不一致- 情况一:确认删除;
git rm file
->git commit
- 情况二:误删了;
git checkout -- file
丢弃工作区的修改
- 情况一:确认删除;