目录
Git说明
Git是目前世界上最先进的分布式版本控制系统
Git安装
在Windows上安装Git
下载地址:https://git-scm.com/downloads
默认点击下一步即可。
Git配置
安装完成配置名字和Email地址(类似于社交的昵称)
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
加 --global表示全局配置 要在一个git仓库上配置一个单独的 则在该仓库下 去掉global单独配置
git init 初始化一个文件夹为git文件,并自动生成.git文件夹 ,本地的暂存区、 版本库都存放在这个文件夹下。
Git提交文件操作
git add <file> 提交文件到你本地的暂存区
git commit -m <message> 一次性提交所有暂存区的文件到版本分支上
git status 查看当前仓库的状态(可知晓文件的修改、添加、删除状态)
git diff HEAD -- <filename> 查看文件与当前版本的区别
git log 显示从最近到最远的提交日志(优化参数 --pretty=oneline)
git reset --hard HEAD^ 回退到指定的版本(head表示当前分支的版本 head^当前分支的上一个版本 head^^以此类推 HEAD~n 回退n个版本)
git reset --hard commit_id 回退到指定的版本
git reflog 查看未来的commit_id 配合git reset回退到未来的版本号
git checkout -- <filename> 文件回退到最近一次git commit或git add时的状态(commit和add哪个近回哪个)
rm <filename> 删除本地文件 然后用 git rm <filename> 提交本次删除文件操作
Git远程仓库的使用和操作
1、创建SSH Key:ssh-keygen -t rsa -C "youremail@example.com"
生成id_rsa和id_rsa.pub在用户主目录的.ssh目录
2、登录gitHub的Account settings里面配置SSH Keys(复制本地的id_rsa.pub) 这样才能提交和修改远程仓库的文件。(GitHub允许你添加多个Key)
3、建立远程仓库和本地仓库的关联方法一:
git remote add origin+远程空仓库地址
(建立本地仓库与远程仓库的关联 origin是自己设定远程仓库默认的名称)
git push -u origin master 推送master分支到origin远程仓库 加-u是为了把本地的master分支和远程的master分支关联起来 后续修改可直接push不用-u
git push origin master
如果git pull 操作报错:fatal: refusing to merge unrelated histories
则需要执行 git pull origin master --allow-unrelated-histories 表示合并和远程的历史记录
3、建立远程仓库和本地仓库的关联方法二:
远程建立一个空仓库 带有readme.txt文件
git clone 远程仓库地址
当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快
Git远程仓库常用操作
git remote 查看远程库的信息 -v 显示更详细的信息
git push origin+分支名称 推送信息到origin对应的分支上
git pull 拉取当前的远程分支信息到本地
建立本地分支与远程分支的关联:
git branch --set-upstream-to=origin/dev dev
Git分支管理:Git鼓励多创建分支
git branch dev 创建分支dev
git checkout -b dev 创建并切换到分支dev
git switch -c dev 创建并切换到分支dev
git checkout dev 切换到分支dev
git switch dev 切换到分支dev
git branch 查看所有分支 带*的表示当前分支
git branch -d dev 删除dev分支
git branch -D dev 强行删除dev分支(如果dev分支还未合并)
git merge dev 把dev的内容合并到当前分支(如果是Fast-forward模式表示无冲突 若是冲突则需要手动修改提交)
git stash 储存分支上的修改
git stash list 储存修改版本列表
git stash apply+stash版本号 恢复到储存的stash版本号
git stash drop+stash版本号 删除的stash版本号记录
git stash pop+stash版本号 恢复到储存的stash版本号并删除该版本记录
git cherry-pick <commit_id> 修复了bug后不重复操作命令,复制commit_id版本的修改到当前分支
GIT标签管理
类似于一种快照,通俗定义为一个版本号。比如V1.0.1
打标签步骤:
1、切换到打标签的分支上
2、git tag v1.0 给当前分支当前最新提交的commit状态上打上快照。
可选:+commit_id 表示给该标签是打给此commit_id状态
git tag -a v0.1 -m "version 0.1 released" 1094adb -a表示标签名称 -m表示说明
git tag 查看所有标签
git show <tagname> 查看标签信息
3、推送标签到仓库:
git push origin <tagname> 推送本地标签到远程仓库
git push origin --tags 推送本地尚未推送的所有标签到远程仓库
git tag -d <tagname> 删除本地标签
git push origin :refs/tags/<tagname> 把标签的删除操作推送到远程