一、Git Flow
二、常用命令
工作中,高频命令
git checkout master // 切换master分支
git branch dev0112-5-4 // 基于当前分支拉dev0112-5-4分支
git fetch // 从远程仓库获取最新的代码到本地,不会自动合并到当前分支
git pull // 相当于执行了git fetch和git merge两个命令,它会自动将远程仓库的最新代码下载到本地仓库,并且自动合并到当前分支
git merge master // 将本地master分支合并到当前分支
git commit -m 'feat: 分支用途' // 暂存本地代码
git commit --no-verify -m 'feat: 分支作用' // 忽略代码校验工具暂存本地代码
git push // 将本地仓库代码推送到远程仓库
git clone <repository_url> // 克隆远程仓库到本地仓库
git remote -v // 查看当前仓库的远程仓库地址
git reset --hard HEAD^ // 放弃当前分支的commit
git reset --hard <commit hash> // 将分支的指针移动到上一个版本
git push origin <branch name> --force // 这个变更推送到GitLab上的远程仓库
// 放弃本地同步更改
git reset --hard origin/master(branch)
三、git中常见问题解决
报错的场景:待补充 (遇到了就补上)
// 放弃本地commit
git reset --hard HEAD
// 关联远程仓库
git branch --set-upstream-to=origin/master master
// 报错信息:The requested URL returned error: 403
// 解决方案: 接着取消全局代理
git config --global --unset http.proxy
git config --global --unset https.proxy
// 报错信息 1 没有对项目操作的权限
The requested URL returned error: 403
// 报错信息 2 没有sll证书
OpenSSL SSL_read: Connection was reset, errno 10054
//解决方案1: 这两条报错都和你链接的远程仓库有关系,检查仓库是否正确
git remote
// 解决方案2:解除ssl验证
git config --global http.sslVerify "false"
// 报错信息:Please move or remove them before you can merge
// 解决方案1(推荐):去代码里解决冲突
// 解决方案2(不推荐):强制清除本地的未上传文件,清除后不可恢复,如果本地有重要文件未上传,慎用!
git clean -d -fx