核心分支说明
-
主分支(master/production)存放随时可部署到生产环境的稳定代码,仅接受通过测试的合并请求。
-
开发分支(develop)集成所有功能开发的稳定版本,日常开发的基础分支,从该分支创建特性分支
-
特性分支(feature/*)命名规范:
开发流程:feature/功能描述_开发者标识
(如feature/login_zhangsan
)-
git merge develop # 定期同步主干代码
-
git push origin feature/new_module # 推送远程
-
git pull origin develop
-
git checkout -b feature/new_module # 从develop创建分支
-
git 分支开发命令
操作 | 命令 |
查看当前分支 | git branch( |
从仓库拉取分支 | git fetch origin 分支名 |
切换分支 | git checkout 分支名 (将当前分支的修改带过去 git checkout -b 分支名) |
拉取最新分支 | git pull origin 分支名 (pull=fetch+merge) |
删除未跟踪的和未添加到暂存区的文件和目录 | git clean -n 预览 git clean -fd 删除 |
恢复修改的文件 | git restore 文件名 |
删除分支 | git branch -D 分支名 # 强制删除未合并分支-D |
远程分支覆盖本地 | git reset --hard origin/master (覆盖修改的文件) |
提交暂存区 | git add 文件名 (不建议用 git add .) |
移出暂存区,保持修改 | git reset HEAD (移出所有) git reset HEAD 文件名 |
查看提交状态 | git status |
查看代码区别 | git diff --cached git diff --no-index (比较两个未跟踪的文件) git diff branch1:a.sh -- b.sh (比较分支中的a和本地b) |
提交暂存代码 | git commit -m 'icafe-id icafe-name' |
删除本地和暂存区文件 | git rm 文件 |
多次commit | git commit --amend |
查看最近的commit | git log |
查看特定的 commit | git show <commit-hash> |
撤回上一次commit | git reset HEAD~1 (包括add) |
回退到合并前的状态 | git reset --hard ORIG_HEAD (慎用) |
提交至远程仓库 | git push origin HEAD:refs/for/分支名 |
cr评审 | 如果代码评审没通过,再次修改时,不能使用git commit -m ,要使用 git add git commit --amend //合并本次与上次提交,加-m 卡号和注释,可以修改,但是是新起一个cr git push origin HEAD:refs/for/分支名 已合分支,合并master需要修改 拉分支,重新修改分支再提交 冲突解决 git fetch origin # 获取远程最新代码 git pull origin 当前分支 # 合并远程变更到本地 git status # 查看所有冲突文件(标记为"Unmerged paths") git checkout --ours 目录/ # 整个目录保留当前分支修改 git checkout --theirs 目录/ # 整个目录采用合并分支修改 其他push错误 https://cloud.baidu-int.com/icloud/iCode/Git-client-message/push_error/#too_many_commits |