- 不停的创造文件进行备份(没有修改的提示) git可以帮我们管理我们的代码保证代码不丢失
- 记录历史只要代码提交到git上就永久不会丢失,可以随时“穿越”
- 团队协作 俩个人修改了同一个文件的同一行,也需要手动解决冲突,可以实现自动合并 (模块化,组件化)
- git拥有强大“分支”管理系统
- svn(集中式) 需要一台中央服务器
- 速度比svn快
- svn中每个文件夹都有一个文件.svn文件,git有一个单独的文件.git文件夹
- windows http://git-scm.com
- mac 如果安装过xcode自带git,homebrew是wmac的包管理器
- http://ohmyz.sh/
- http://www.iterm2.com/
git config --list
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
一个项目初始化一次,不能嵌套
git init 告诉git哪个文件夹被git所管理
git status 查看git状态
git remote add origin url 关联仓库
git remote remove origin 解除仓库
git rm --cached 文件名
git add ./ -A / 文件名
git commit -m '消息'
git diff 工作区和暂存区 git diff 分支名 工作区和历史区 git diff --cached 暂存取和历史区比较
从暂存区中将工作区内容覆盖掉
git checkout 文件名
git reset HEAD 文件名 回到上一次的缓存区
git reset --hard 版本号
// 然后执行 git push origin 分支名 -f
git reflog 查看所有版本
git checkout 版本号 文件名
git branch 分支名
git branch
git checkout 分支名
git branch -D 分支名
删除分支时,当前用户不能在当前要删除的分支上
git checkout -b 分支名
git stash
暂存文件
git stashpop
还原暂存的内容
分支有修改不能直接切换,可以提交更改或暂存更改,过渡区覆盖工作区
git merge 分支名
切换到想要合并的分支,merge 目标分支
git log 日志
git log --graph 日志图标
git log --graph --online 简化图标
- 本地新建项目
- git init
- 添加README.MD 和 .gitignore
- 提交到版本库
- git remote add origin github地址
- git push -u origin master (第一次push加 -u ,之后自动默认提交到该分支里)
git remote -v //查看git对应的远程仓库地址
git remote rm origin //删除关联对应的远程仓库地址
git remote -v //查看是否删除成功,如果没有任何返回结果,表示OK
git pull origin master
.gitignore 忽略提交内容的隐藏文件
git 不会上传空文件夹 添加.gitkeep保存空文件夹
- pwd print working directory
- rm -rf 文件夹 删除文件
- rm 文件名 删除文件
- mkdir 文件夹名字 创建目录
- cd 目录名 change directory
- ls -al显示目录下所有的文件
- touch 文件名 创建文件
- cat 文件名
===== git fetch