1)基本环境
1)本地初始化: 生成. Git 目录, 不要轻易修改
命令: Git init
2)设置签名: 区分不同开发人员的身份, 这里设置的签名和登录远程库 (代码中心) 的账号, 密码没有任何关系;
* 项目级别 / 仓库级别: 仅在当前本地库范围有效
命令:
- Git config user.name admin
- Git config user.email [email protected]
信息保存的位置:.Git/config 文件中
* 系统用户级别: 登录当前操作系统的用户范围
命令:
- Git config --global user.name admin
- Git config --global user.email [email protected]
信息保存的位置:~/.gitconfig 文件中
* 级别优先级:
(1)就近原则: 项目级别优先于系统用户级别, 二者都存在时采用项目级别的签名;
(2)如果只有系统用户级别的签名, 就以系统用户级别的签名为准;
(3)二者如果都不存在, 在以后操作中会频繁的报错;
2)基本操作
- Git status #查看工作区及暂存区的状态
- Git add 123.txt #将工作区的文件提交到暂存区(可以针对单个文件, 也可使用 "." 表示当前目录所有文件)
- Git rm --cached 123.txt #将暂存区的文件撤回, 重新放到工作区中
- Git commit -m "first commit 123.txt" #将暂存区的内容提交到本地库 (-m 描述信息, 加文件名和不加文件名一样)
3)查看历史记录的几种方式
- Git log #查看之前的提交的日志信息
- Git log --pretty=oneline #查看之前的提交的日志信息(以一行的方式显示)
- Git log --oneline #查看之前的提交的日志信息(以更简洁的方式进行显示)
- Git reflog #显示所有的历史记录的 HEAD 指针
4)控制版本前进后退
1)基于索引值操作(推荐使用)
Git reset --hard d67b2ca #--hard 后是 Git reflog 命令查询出的索引值
2)使用 ^ 符号(只能后退)
Git reset --hard HEAD^ #后退一个版本(^ 一个表示回退一个版本)
3)使用~ 符号(只能后退)
Git reset --hard HEAD~n #n 表示后退几步
5)删除文件并找回
前提: 删除前, 文件存在时的状态提交到了本地库;
操作:
Git reset --hard [指针位置]
1)删除操作已经提交到本地库: 指针位置指向历史记录;
2)删除操作尚未提交到本地库: 指针位置使用 HEAD;
6)比较文件差异
Git diff [文件名] #将工作区中的文件和缓存区进行比较
Git diff [本地库中历史版本] [文件名] #将工作区中的文件和本地库历史记录进行比较
Git diff [本地库中历史版本] #将工作区中所有文件和本地库进行比较
7)Git 分支管理
Git branch [分支名称] #创建分支
Git branch -v #查看所有分支,"*" 号表示当前所在分支(-v 选项不加也行)
Git checkout [分支名称] #切换分支
Git checkout -b [分支名称] #创建分支并切换分支
Git merge [被合并的分支名] #快速合并分支(前提是不能在被合并的分支上)
Git branch -d [分支名称] #删除指定分支
Git branch -D [分支名称] #强制删除指定分支
- Git stash #将当前版本库的状态临时存储
- Git stash pop #恢复并删除临时存储的信息
- Git stash apply #恢复临时存储的信息, 但是不删除信息
- Git stash drop #删除临时存储的信息
- Git stash show #查看临时存储的信息
- Git remote add origin https://github.com/lvzhenjiang-hub/test.git #将远程仓库的地址起个别名, 名称为 origin
- Git remote #查看当前版本库是否属于远程版本库
- Git remote -v #查看详细信息
- Git push origin master #将本地的 master 分支推送到远程仓库
- Git checkout -b dev origin/dev #创建本地 dev 分支并且关联到远程仓库的 dev 分支
- Git fetch origin master #从远程仓库下载到本地
- Git merge origin/master #将远程分支进行合并
- Git pull origiin master #将远程仓库的 master 分支下载到本地, 并合并, 主要用于解决冲突
Git branch --set-upstream-to=origin/dev dev 将本地的 dev 分支关联到远程仓库的 dev 分支
Git branch -r -d origin/dev 删除指定远程的 dev 分支
Git push origin :dev 将删除的远程分支提交到远程版本库中
来源: http://www.bubuko.com/infodetail-3412423.html