初始化
git init: 初始化本地库
设置签名
项目级别/仓库级别
- 生效范围: 当前项目下
- git config user.name <your username>
- git config user.email <your email>
系统用户级别
- 生效范围: 登陆当前操作系统的用户范围
- git config user.name --global <your username>
- git config user.email --global <your email>
查看状态
git status: 查看暂存区,本地库状态
提交操作
提交文件到暂存区
- git add filename: 提交工作区文件的修改到暂存区
- git add . : 提交工作区的所有修改到暂存区
- git rm --cached <filename>: 撤回提交到暂存区的内容
提交文件到本地库
- git commit: 会进入vim编辑器
- git commit -m '本次提交的说明': 建议使用,比较简洁
- git commit -a: 可把修改过的文件直接提交到暂存区,新创建的文件必须先使用git add 来对文件进行追踪
版本切换
版本查看
- git log: 查看版本记录
- git log --pretty=oneline: 一行显示一条记录
- git log --oneline: 如上,但是更简短
- git reflog: 会显示移动到当前版本的步数
切换
- 使用索引值(推荐使用): git reset --hard <索引值>
- 使用^: git reset --hard HEAD^
- 只能后退
- ^的个数代表回退的步数
- 使用~: git reset --hard HEAD~3
- 只能回退
- 代表回退三步
找回删除的文件
提交到本地库的删除
- 使用git reset 回退一个版本
提交到暂存区的删除
- git reset --hard <版本>
比较文件
git diff <文件名>将工作区的文件与暂存区进行比较
git diff <本地库中历史版本> <文件名>
不带文件名,比较所有文件
分支
git branch -v: 查看分支
git branch <分支名>: 创建分支
git checkout <分支名>: 切换分支
合并分支
- 切换到要接受合并的分支
- git merge <分支名>: 合并指定分支到当前分支
解决冲突
<<<<<< 当前分支内容 ====== 被合并过来分支的内容 >>>>>> // 手动删除不需要内容和符号 // 然后提交操作删除分支
- git branch -d <分支名>: 删除分支
- git branch -D <分支名>: 忽略合并等状态强制删除