svn是集中式的版本控制器,后续版本仅仅记录变化
- push/pull 要联网
- 如果server硬盘坏了 怎么办?会很麻烦
git,会保存所有的版本完整文件,以及相关操作,不仅仅是变量,而且每个人和服务器保存的一样
-
区块链,分布式账本,每个分支都有所有人的所有收支情况
- git 保证完整性(每一个都有一个40位的校验码)
- untracked(未追踪)、unmodified(未修改)、modified(已修改)、staged(操作台状态,push之类的操作)
- 四个状态,staged操作完了之后返回unmodified,循环往来
git status 没事status一下(告诉你当前状态、提醒你下一步做什么)
把本地项目推送到远端
- git init
- git remote add origin git@git.oschina.net:gupaoedu_com_vip/test10.git
- git push -u origin master
git fetch( 远端仓库,拉到本地仓库,不是本地)
git pull (拉取到本地)
git push(本地推到远端 git push -f 即便本地版本落后也能强行push出去)
git checkout
- 切新分支(checkout -b dev-branch1)
- 撤消更改 checkout . 恢复当前文件下下所有文件
git merge 和 git rebase
git tag 版本
- 关键节点做一个版本标记,方便回滚
alias 别名(用来组合操作)
git-flow