git 图解本地工作区·缓存区·本地仓库·远程仓库

终于终于 搞清爽git用法,赶紧整理一下,备忘!有不对的地方,还请多多指教~

WorkSpace:就是你的本地工作区啦
Stage:待提交区(暂存区)
Local Repo:本地仓库
Remote Repo:远程仓库
git 图解本地工作区·缓存区·本地仓库·远程仓库
git 图解本地工作区·缓存区·本地仓库·远程仓库
WorkSpace—>Stage—>Local Repo—>Romate Repo

  • 本地仓库
git init #在本地的当前目录里初始化git仓库
git status  #查看WorkSpace的状态
git add <file> / git add .  #从WorkSpace保存到Stage,add后的文件才会被git跟踪
git rm --cached <file> #从Stage中移除
git commit -m <message> #从Stage提交更新到Local Repo

git diff #显示WorkSpace和Stage中的状态差异

git checkout --<file> #撤销WorkSpace中的更新,将Stage的文件提取覆盖当前文件(撤销后无法找回)
git reset HEAD <file> #撤销Stage中的更新,移出到WorkSpace中(用于反悔 git add <file>)

git log #查看commit的历史记录(当前分支)
#撤销Local Repo中的更新
#回退到相应版本号,同样也可以回退到未来的版本号:
git rest --hard HEAD^
git rest --hard HEAD~1
git rest --63c1c746b5b70448518ca2411874b9cd394f5ff6

git reflog ##查看HEAD的变更记录,包括已经撤销的更新
#恢复撤销操作:
git reset --hard [email protected]{1}
git reset --hard d03ab23

#--head:撤销并删除相应的更新
#--soft:撤销相应的更新,把这些更新的内容放到Stage中

#删除文件
rm <file>
git rm <file>

#删除当前目录中所有未追踪的文件
git clean -xf

#处理中文文件名
git config --global core.quotepath false	
  • 远程仓库
#把本地库和远程库关联起来
git remote add origin [email protected]:[github账号]/scorpio.git
#提交本地仓库到远程仓库
git push -u origin master
git push -u origin master -f #强制push,不管冲突
git push -u origin master --allow-unrelated-histories #把两个不同的项目合并
#同步远程仓库到本地
git pull origin master
#创建分支,提交到分支
git branch [name]
git push -u origin [name]

参考:
Git本地仓库(特别感谢这位大神,文章很清晰~)
https://www.cnblogs.com/zhongxinWang/p/4205339.html