记性不好的我又来了,,,记录一下方便自己以后查看
git add . 之后把工作区提交到暂存区
git commit -m ‘XXX’ 之后把暂存区内容提交到本地仓库
git push 把本地仓库的内容推送到远程仓库
git常用命令
-
只提交某文件
a/ git status -s 查看仓库状态 b/ git add src/pages/xxxxxx 添加需要提交的文件(参考git status打印出来的文件路径) c/ git stash -u -k 忽略其他文件,把现修改的隐藏起来,这样提交的时候就不会提交未被提交的add的文件 d/ git commit -m 'XXXXXXX' e/ git pull f/ git push g/ git stash pop 恢复之前忽略的文件(非常重要的一步)
-
版本回退
a/ git reflog 如果需要回退到指定版本要查看版本日志。只是回退到上一个或上上一个直接跳转第二步即可 b/ git reset --hard HEAD^ 回到上个版本,git reset --hard HEAD^^ 是上上个版本 git reset --hard HEAD~100 是往上的100个版本 // git reset --solt 不还原缓存区、不还原工作区;(可以通过缓存区查看到具体都改了什么) // git reset 跳转到指定版本、还原缓存区、不还原工作区 // git reset --hard 还原缓存区、还原工作区
回退到某一个版本之后会发现提交不了,说远程上需要先pull一下,如果pull那就又回到新版本了,相当于没有回退。
这里有两个方案解决:- 强制推送到远程分支
git push -f origin <branch name> eg:git push -f origin master
- 新建一个分支,
我们可以新建一个分支temp,然后把回退后的代码提交到temp分支上暂存,然后删除master主分支,新建一个master分支,提交现有代码到master上。
注意:在github下,操作(删除或重建分支)需要在github网页上切换当前分支,如你要删除master,就要将分支切换到建的temp分支上。(可以理解为自己不能删除自己)/*1.新建分支*/ git checkout -b temp //新建分支并切换到temp分支 git push origin temp:temp //将代码push到temp分支 /*2.删除主分支*/ git push origin --delete master //删除远端主分支 git branch -d master //删除本地主分支 /*3.新建主分支*/ git checkout -b master //新建主分支并切换到主分支 git push origin master //提交主分支 /*4.删除暂存分支*/ git branch -d temp git push origin --delete temp
(项目主页->Settings即可看到)
- 强制推送到远程分支
-
撤销提交的commit
git reset --soft HEAD^ // 这样就成功撤销commit,如果想要连着add也撤销的话,--soft改为--hard // 另外一点,如果commit注释写错了,先要改一下注释,有其他方法也能实现 git commit --amend // 这时候会进入vim编辑器,修改完成你要的注释后保存即可