一、简介
Git 是一个分布式版本控制系统
二、说明
相比于SVN
-
Git
- 分布式
- 以元数据形式存储
- 无全局版本号
- 分支通过指针维护
-
SVN
- 集中式
- 以文件形式存储
- 有全局版本号
- 分支为全新目录
工作区、暂存区、版本库
- 工作区:本地目录
- 暂存区:索引文件
- 版本库:维护版本、分为本地仓库和远程仓库
.gitignore 文件
提交时忽略的文件:
- 操作系统自动生成的文件,比如缩略图
- 编译生成的中间文件,比如 Java 编译产生的 .class 文件
- 自己的敏感信息,比如存放口令的配置文件
三、使用
命令
git配置
- 获取配置信息
git config -l
- 编辑git配置
git config -e --global
本地仓库和远程仓库
- 生成ssh key
ssh-keygen -t rsa -C "youremail@example.com"
- 验证ssh
ssh -T git@github.com
- 初始化仓库
git init repo
- 克隆仓库
git clone repo directory
- 显示远程仓库
git remote -v
- 添加到远程仓库
git remote add origin ***.git
- 重命名远程仓库
git remote rename name1 name2
- 从远程仓库拉取
git pull origin master
- 向远程仓库推送
git push origin master
工作区和暂存区
- 添加文件到暂存区
git add file
- 说明提交到仓库
git commit -m 'first commit'
- 查看继上一次提交后的改变
git status -s
- 比较暂存区和工作区文件
git diff
- 回退版本
git reset HEAD^
- 删除文件
git rm -f file
- 移动文件
git mv -f file1 file2
分支
- 创建分支
git branch name
- 显示分支
git branch
- 切换分支
git checkout name
- 删除分支
git branch -d name
- 合并分支
git merge name
- 删除分支
git branch -d name
标签
- 显示标签
git tag
- 创建标签
git tag -a v1.0 -m 'first version'
记录
- 历史提交记录
git log --oneline --decorate
- 指定文件修改记录
git blame file
stash
- 显示存储列表
git stash list
- 存储暂存区
git stash save 'message'
- 显示暂存区改动
git stash show stash@{num}
- 使用此暂存区
git stash apply stash@{num}
- 显示暂存区改动
git stash show stash@{num}
- 提取暂存区
git stash pop stash@{num}
- 删除暂存区
git stash drop stash@{num}
- 清除所有缓存的暂存区
git stash clean