一: git 是什么
首先在学习之前,我们大体说一下,git 是什么,为什么我们需要它。
git 是分布式版本控制系统,有的小伙伴,看到git,可能一下就想到了github, Github 是基于 Git 的代码托管平台,只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub,就是一个平台上面有无数个 Git 仓库——Git 版的百度云,承担存储远程仓库的作用
二:为什么需要版本控制
举个大家都能知道的例子, 比如你给甲方设计一个方案,但是你的第一套方案,跟最后一套方案,之间到底有多少套方案,你不能确定。这我们就需要用到版本控制了
第一版----> 第二版--------->第三版---------> 第四版------->第五版---->第六版---->
改了又改,改了又改,然后客户说,那我们还用第一版吧,唉,巧了,我们有版本控制,我们可以直接找到第一版。这就是为什么我们需要版本控制。
三 : git 工作流程
四: 常用git命令
创建版本库
git clone <url>:从网络上某个地址拷贝仓库 (repository) 到本地
git init:在本地的当前目录里初始化 git 仓库,会在当前目录生成一个隐藏的 .git 目录
修改与提交
git status: 查看当前仓库的状态
git diff: 显示暂存区和工作区的差异
git add: 添加当前目录下的所有文件到暂存区
git add <file1><file2>: 添加一个或多个文件到暂存区
git mv <old> <new>: 文件改名
git rm <file>: 将文件从暂存区和工作区中删除
git rm --cached <file>: 把文件从暂存区域移除,但仍然保留在当前工作目录中
git commit -m "commit message": 提交暂存区到本地仓库中,提交信息最好能体现更改了什么
查看提交历史
git log: 查看当前版本及之前的 commit 记录
git log -p <file>: 查看指定文件的提交历史
git blame <file>: 以列表形式查看指定文件的提交历史
分支与标签
git branch: 列出分支基本信息
git branch <new-branch>: 创建新分支
git branch -d <branch>: 删除分支
git checkout <branch/tag>: 切换到指定分支或标签
git checkout -b <branch>: 创建并切换到新分支
git switch <branch>:切换到指定分支
git switch -c <branch>:创建并切换到新分支
git tag: 列出所有本地标签
git tag <tagname>: 基于最新提交创建标签
git tag -d <tagname>: 删除标签
合并与衍合
git merge <branch>: 合并指定分支到当前分支
git rebase <branch>: 衍合指定分支到当前分支
远程操作
git remote -v: 查看所有远程版本库
git remote show <remote>: 显示某个远程仓库的信息
git remote add <shortname> <url>: 添加远程版本库
git fetch <remote>: 从远程库获取代码
git pull <remote> <branch>: 下载代码及快速合并
git push <remote> <branch>: 上传代码及快速合并
git push <remote> :<branch/tag>: 删除远程分支或标签
git push --tags: 上传所有标签