版本控制工具
集中式版本管理方案:SVN,存在单点故障的问题,服务器崩溃则不好进行代码的提交
分布式管理方案:Git
卸载将Git的环境变量删除,然后直接控制面板删除Git即可
安装一键next即可安装
安装成功会有三个:Git Bash、Git CMD、Git GUI
Git常用的一些命令:
- 清除界面clear
- cd、pwd、ls、
- 新建一个文件touch aa.txt,删除一个文件rm aa.txt
- 创建一个目录mkdir aaa,删除一个目录rmdir aaa,或者 rm -r或者rm -rf
- 移动文件使用mv test.html aaa
- reset重新初始化终端、清屏
- history查看命令使用的历史
- exit退出、#表示注释、help帮助
Git的配置
配置全局变量:
git config --global user.name "fang"
git config --global user.email fang@xxx.com
git config --list 查看git配置
推荐视频: https://www.bilibili.com/video/BV1sf4y1w7qj?p=1
Git的工作区
工作区、暂存区、Git仓库
git add git commit
Git基本命令
git init => 初始化本地仓库
git add "文件(文件夹) " => 添加文件(文件夹)到暂存区
git commit 文件 -m "提交说明" => 提交暂存区文件(文件夹)到本地仓库
git ls-files => 查看仓库文件列表
git status
git log 查看git提交的记录日志
git log --pretty=oneline 使用一行输出日志,简化日志输出
git reflog 查看执行操作的日志
git diff HEAD -- "文件" => 比较文件和版本库文件的差别
git reset --hard HEAD^ => 回退到上一个版本
git reset --hard HEAD^^ => 几个^代表回退几个版本,这个地方回退两个版本
git reset --hard HEAD~100 => 往前回退100个版本
git reset --hard "版本的标识符" => 跳转到指定的版本,可回退可向前
git reset HEAD filename => 将已经添加的文件进行撤销
git checkout -- 文件名 => 从本地仓库获取文件
git rm 文件名 => 删除本地仓库中的文件
本地仓库推送到github
1、github 创建仓库
2、本地生成ssh公钥和私钥
ssh-keygen -t rsa -C "GitHub账户邮箱"
3、上传公钥到github
4、校验ssh环境
ssh -T git@github.com
5、执行远程推送
5.1 绑定远程仓库地址 git remote add origin git@github.com:
5.2 本地创建分支 git branch -M main
5.3 本地文件推送到远程 git push -u origin main
git 分支操作
本地分支操作:
查看本地分支列表 git branch
创建本地分支 git checkout -b branch_name
切换分支 git checkout branch_name
合并分支到另外一个分支 git merge branch_name
重命名分支 git branch -m| -M old_branch_name new_branch_name
删除分支 git branch -d branch_name
远程分支操作:
查看本地与远程分支 git branch -a
推送本地分支到远程 git push origin local_branch_name
拉取远程分支到本地
1. git clone 地址
2. git checkout -b local_branch_name origin/branch_name
删除远程分支 git push origin :remote_branch_name
分支冲突解决
本地代码冲突:
git merge other_brance_name
多个分支合并冲突,修改冲突,然后进行add commit
多人协作冲突:
push失败
先pull拉取远程分支代码、解决冲突、add、commit、push
标签
git tag tag_name 新建标签默认为HEAD
git tag -a tag_name -m "xxxx" 添加标签并指定标签描述信息
git tag 查看所有标签
git tag -d tag_name 删除一个本地标签
git push origin tag_name 推送本地标签到远程
git push origin --tags 推送全部未推送过的本地标签到远程
git push origin :refs/tags/tag_name 删除远程的分支