目录
1.git是什么?
官网地址: https://git-scm.com/
Git 是一个快速、可扩展的 分布式版本控制系统 ,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问.Git与你熟悉的大部分版本控制系统的差别是很大的。也许你熟悉Subversion、 CVS 、Perforce、Mercurial 等等,他们使用“增量文件系统” (Delta Storage systems), 就是说它们存储 每次提交(commit)之间的差异 。 Git 正好与之相反,它会把你 的 每次提交的文件的全部内容(snapshot)都会记录下来 。
1.git原理:可视化界面的方式进行操作
2.git 命令操作: linux 命令差不多
2.部署下载git
3.git基本命令
3.1基础命令
$ git -v //查看git版本
git version 2.38.0.windows.1
//配置项目开发人员信息
git config --global user.name "Fang"
git config --global user.email "fangya@qq.com"
//查看配置参数:
git config --list
git config --list --global
git config --list --local
git init [<directory>]
//1.创建一个仓库
//2.重新初始化一个 以及存在的仓库
3.2git 管理版本控制的工作流程:
工作区: 项目目录
暂存区: 临时存储文件的地方 可以进行撤回
本地仓库:版本控制
1.vim 1.log
2.git add 1.log => 添加到暂存区
3.git commit -m "Add 1.log" => 添加到 本地仓库
4.git log 查看本地仓库历史 :当前项目的 commit历史
git reset --hard [<commit>] //切换版本号
git log //查看版本历史
git log --reflog //查看所有操作的 commit 历史
git log --format=oneline
git log --oneline [常用]
git log --oneline --reflog 可以连用
git log --oneline -n 2 显示最近几个commit
git log --oneline master //指定查看某个分支的 commit 历史
git log --oneline --gragh //以图形化界面展示 分支的commit 历史
git log --oneline --gragh --all //以图形化界面展示 所有分支 的commit 历史
git branch -c dev //创建分支(默认从master直接复制来的)
git branch -v //查看分支
git checkout dev //切换分支
git branch (-d | -D) <branchname> //删除分支
//-d: 删除分支之前 要求merge 到主分支
//-D: 强制删除分支
git branch -D java //合并分支
3.3如何修改commit的msg 信息
1.修改最新的commit的msg
git commit --amend
2.修改之前某一个的commit的msg
git rebase //变基
git rebase -i <after-this-commit> //-i 表示交互式
//修改之前某一个的commit = 基于前一个commit 进行修改当前的commit
//p, pick <commit> = use commit =》 选择某个commit
//r, reword <commit> = use commit, but edit the commit message 重写某个commit msg
//s, squash <commit> = use commit, but meld into previous commit 合并多个commit msg
3.合并多个commit的msg 合并成一个commit msg
git rebase -i <after-this-commit>
3.4工作区 vs 暂存区 vs 本地仓库
//查看文件差异
git status //文件的个数 名字
git diff //工作区 vs 暂存区 文件内容差异
git diff --cached //暂存区 vs 本地仓库 文件内容差异
//恢复操作
//工作区 => 暂存区 可以进行撤回
git restore --staged <file>...//git add
git restore --staged 1.log 2.log 3.log
git restore <file>...//工作区:git add 之前
git restore 3.log
//暂存区 vs 本地仓库 可以撤回
git reset --hard HEAD //回退版本 git commit之前
3.5删除文件 文件重命名
git rm/mv //删除/重命名文件
//删除文件
rm: git rm
rm -rf xxx
git add xxx
git commit -m "Rm xxx"