先描述下操作:
-
commit 一个大文件到github,由于大小限制(超出100M)导致同步失败。
- 根据github提示,我进行文件压缩及使用工具上传,网速太慢加上下班,就忘了这事了(以为成功了)。
- 多日后,修改本地文件并上传,一直上传失败,试了调大config参数到524288000还是有问题。
[http] postBuffer = 524288000
到这的时候就想着保存本地修改并回滚。
看下git模型:
Working Directory就是我们本地工作区,Index就是提交暂存区,HEAD是当前分支引用的指针。
- –hard:重设index和working directory,从
<commit>
以来在working directory中的任何改变都被丢弃,并把HEAD指向<commit>
- –soft:index和working directory中的内容不作任何改变,仅仅把HEAD指向
<commit>
。自从<commit>
以来的所有改变都会显示在git status的“Changes to be committed”中。
## 使用git reset [--hard|soft|mixed|merge|keep] [commit|HEAD]重置
## 查看下提交记录
git reflog
## 安全回退到倒数第二次提交
git reset --soft HEAD@{2}
## 看下状态,上两次提交的存到本地工作区了
git status
## 提交
git push
当git push时又报:
# git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
## 根据提示输入git push --set-upstream origin master 再看下状态
git status
git diff master origin/master
对git版本控制不是很熟悉,学了忘忘了查。
将本地的项目分享到GitHub步骤:
- git init
- git add .
- git commit -m “init”
- GitHub添加项目
- git pull origin master –allow-unrelated-histories
- git branch -a 查看分支
- git push origin master
推荐个好玩的网站:程序员音乐