使用git命令提交代码时,经常会遇到这些报错,一开始不知道怎么解决,现在想写个笔记记录一下之后遇到方便查阅。
问题场景
场景一:
- 当你commit完代码,push到远程后报如图所示错误,说明你之前已经push过代码了,远程和本地产生冲突
- 解决:ggpush -f 强制推送至远程,覆盖之前push的代码
场景二:
- rebase后报如图所示错误,这个是因为在切分支之前,没有pull更新本地代码,所以在修改相同的文件时,代码产生冲突。
2. 解决: git rebase --abort 和 git rebase --continue
- git rebase --abort 撤销rebase,会放弃合并,回到rebase操作之前的状态,之前的提交的不会丢弃;然后接着回到主分支pull 再rebase。
- git rebase --continue 执行完git rebase feature/dice 之后,本地如果产生冲突,手动解决冲突之后,用"git add"命令去更新这些内容的索引(index),然后只要执行: git rebase --continue 就可以线性的连接本地分支与远程分支,无误之后就回退出,回到主分支上。
补充
git提交过程
新建代码库:
- git init 新建代码库
- git init workspace 新建目录
- git clone 克隆项目
- git status 查看仓库当前的状态,显示有变更的文件。
新建分支
- git branch -a 列出所有本地分支和远程分支
- git branch guanliping 新建分支,停留在当前分支
- git checkout -b guanliping 新建并切换到新建的分支
- git checkout guanliping 切换分支
- git push origin --delete 删除远程分支
提交代码到远程仓库
- 在自己的分支将代码添加到暂存区git add . git commit
- git status 查看仓库当前的状态,显示有变更的文件。
- 回到主分支后git pull,更新远程代码
- 切换到新建分支 git rebase, rebase命令是为了防止主分支有更新,文件修改冲突
- 推送到远程ggpush
超级好用到stash命令
当你还在写代码,这个分支的需求还没完成,但是需要切一个新的分支或者切换到其他分支修复bug,这个时候本地代码还没有写完没提交怎么办?使用stash命令暂存文件。
- git stash 将不需要提交的文件暂存 = git stash push
- git stash list 展示stash列表
- git status push -m ‘test ’ 自定义message
- git stash pop 将暂存到文件恢复,将所需文件提交后执行这个操作 恢复
- git stash apply 0/1/2/3 暂存指定的索引到栈
- apply和push 都是恢复暂存时的状态 ,区别 :
- push 释放暂存内容,但stash列表中的信息会删除
- apply 释放暂存内容,但stash列表中的信息是会继续保留
- git stash clear 清空所有暂存记录
常用命令总结
1. git rm <文件>** 删除文件
2. git rebase -i A 处理A之后的commit — 可用于删除中途某一次的commit
3. git cherry-pick C 单独抽取c
4. git config 设置用户信息
5. git add || git add . 添加到暂存区
6. git reset HEAD 撤销暂存区的全部文件或单个
7. git reset A --hard. 回退到A
8. 使用一次新的commit,替代上一次提交
如果代码没有任何新变化,则用来改写上一次commit的提交信息
$ git commit --amend -m [message]
重做上一次commit,并包括指定文件的新变化
$ git commit --amend [file1] [file2] ...
9. git checkout - 切换到上一个分支
10. git merge 合并分支
11. git log 查看commit记录 git log -S 搜索某次commit
12. git diff 显示区别 **git diff <文件>** 查看修改内容
13. git fetch 更新远程
这些是自己在工作中常遇到到问题和常用到的git命令,不同的项目和问题可能解决方法会不同, 具体问题具体分析。git命令行工具很强大,熟练使用是我的目标,将会继续的学习补充。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!