git基本使用
本地工作区:用户操作修改的区域
本地暂存区:.git文件中index/Stage区域
本地仓库:一个在本地看不见的隐藏区域(commit操作后的一个区域)
远程仓库:即远程git仓库
基本流程简述:
- 本地工作区—add—本地暂存区—commit—本地仓库—push—远程仓库
- 远程仓库—pull—本地工作区
或
远程仓库—fetch—reset—本地工作区
实际流程:
1. //克隆远程仓库,会拉下来一个文件夹(ceshi),文件夹中有一个.git文件,
//也就是本地暂存区,本地暂存区的分支就会与远程仓库的分支一样,
//隐藏的本地仓库的分支也会与远程仓库的分支一致,且四个区域会形成关联
git clone http://xxx
2. //进入ceshi文件夹
cd ceshi
3. //切换本地分支(指本地仓库和本地暂存区的分支),使其与远程仓库保持一致,
//此步骤会将分支中的文件全部拉下来
git checkout 性能
4. //更新远程仓库中的文件
git fetch --all
5. // 拉取远程仓库中有过更新的文件到本地工作区,没有过更新的文件就不会被拉下来,
//若本地工作区中有此文件,那么本地工作区中的此文件会被覆盖
git pull origin 性能
//拉取远程仓库中所有的文件到本地工作区,若本地工作区有此文件,
//那么本地工作区中的此文件会被覆盖
//git reset --hard origin/性能
6.//执行完了第五步上传之前的下拉动作后,上传文件
git add . //将所有文件上传至本地暂存区
//git add 文件名 //将某个文件上传至本地暂存区
git commit -m "随便描述" //从本地暂存区上传至本地仓库
git push origin 性能 //从本地仓库上传至远程仓库
本地仓库清除
若文件commit之后,再push时失败,为避免影响下次
push操作,需将本地仓库清除
先看报错:
解决:
// 1.依据报错信息中的 commit版本号 获取文件的名称
git rev-list --objects --all | grep commit版本号
// 2.清除本地仓库中的内容
git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch 文件名' --tag-name-filter cat -- --all
// 3.正常的提交步骤
git add .
git commit -m "随意"
git push origin 分支