项目代码使用git提交产生的问题整理
1.git 取消本地 commit
git 取消本地 commit (未push到远程)
第一步输入:git log *查看commit的日志*
第二步输入:
git reset –mixed commit_id:*此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息(也就是会回退到某版本号,保留了源码信息)*
git reset –soft commit_id:*回退到某个版本,只回退了commit的信息,不会恢复到index(需要提交的内容不会消失)*
git reset –hard commit_id:*彻底回退到某个版本,本地的源码也会变为上一个版本的内容(完成撤销,同时将代码恢复到前一commit_id 对应的版本 )*
git reset commit_id: *完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改-----------测试有效 *
git 取消本地 commit (push到远程)
第一步输入:git log *查看commit的日志*
第二步输入:
git reset --hard <版本号> *注意使用 --hard 参数会抛弃当前工作区的修改
使用 --soft 参数的话会回退到之前的版本,但是保留当前工作区的修改,可以重新提交*
如果此时使用命令:
第三步输入
git push origin <分支名> *会提示本地的版本落后于远端的版本;为了覆盖掉远端的版本信息,使远端的仓库也回退到相应的版本,需要加上参数--force*
git push origin <分支名> --force *强制提交当前版本号,以达到撤销版本号的目的:*
2.更换项目下载链接(提交连接)
git remote remove origin
git remote add origin http://git.exlley.com/exlley/renda-app.git
git pull origin master
3.输入 git pull 拉代码之后,本地所有编辑过的文件消失不见
第一步:git stash list
第二步:git stash pop
4.git rebase无限循环
1.commint
2.push
3.rebase
4.失败无限rebase ×
5.revert
6.reset (Mixed)
7.revert
8.reset(直到LocalChanges中不存在文件)
9.push
10.rebase
*禁止:如果发生长时间的rebase,禁止拉取最新代码:禁止revert或者reset之后手动拉取代码或者操作在pull周围的按钮:操作pull按钮,和敲代码找回失踪代码,你只能选择其中一种方法。不能选择两种方式——这是最不可取的方式
如果提交文件超过了10个以上,提交代码的时候,注意丢失(最重要的commit一把,禁止commit and push 或者直接pull代码)注意,首先必须有一个commitId,不管如何,只要有commitId,丢失的代码就能找回了。*
5.如果修改本地文件之后,无法切换分支
*报错error: Your local changes to the following files would be overwritten by checkout:
admin/src/pages/categories/topic-manager.vue
server/src/main/java/com/exlley/cms/controller/api/TopicApiController.java
Please commit your changes or stash them before you switch branches.*
这时候,执行入下代码,即可切换到分支bcci。
git stash
git branch bcci
git pull
git stash pop
6.与远程数据库关联
第一步:git branch --set-upstream-to origin/bcci bcci
7.取消本地目录下关联的远程库:
第一步:git remote remove origin