Git——分布式版本控制系统
简易的命令行入门教程:
Git 全局设置:
git config --global user.name "qinyue"
git config --global user.email "439992604@qq.com"
创建 git 仓库:
mkdir typora-image
cd typora-image
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/qinyue2000/typora-image.git
git push -u origin "master"
已有仓库?
cd existing_git_repo
git remote add origin https://gitee.com/qinyue2000/typora-image.git
git push -u origin "master"
我的gitee图库令牌:d7ca567745d6e025701bcb9aa7a919b9
LTS版本 (Long Term Support) 长期支持版本即稳定版
current版本 最新版 但是不稳定
PicGo:一个用于快速上传图片并获取图片URL链接的工具 -----图床管理工具
PicGo 本体支持如下图床:
七牛图床
v1.0腾讯云 COS v4\v5 版本
v1.1 & v1.5.0又拍云
v1.2.0GitHub
v1.5.0SM.MS V2
v2.3.0-beta.0阿里云 OSS
v1.6.0Imgur
v1.6.0
用户名和邮箱的作用
用户名和邮箱地址是本地Git客户端的一个变量。用户每次提交代码都会记录用户名和邮箱。
一:前提 在别的文章里我已经提到了,远程仓库一般支持两种协议:SSH和HTTPS,SSH协议只认机器,HTTPS协议只认账号;也即为:如果使用SSH操作远程仓库的话,我们需要使用公钥和私钥对来做权限的认证,如果使用HTTPS操作远程仓库,则需要使用账号密码来做权限的认证。无论是公钥私钥对,还是账号密码,都只做权限的认证;但是远程仓库里需要记录这些提交记录是由谁来完成的;所以我们需要给本地的git设置用户名和邮箱,用于从本地仓库向远程仓库提交记录时,在远程仓库记录下这些操作是由谁来完成的。
二:操作 在安装好git后、使用git前,需要给git配置用户名和邮箱,如下图:
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
三:疑问 1、为什么要配置用户名和邮箱?
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址(名字和邮箱都不会进行验证),这样远程仓库才知道哪次提交是由谁完成的。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。
2、配置的用户名和邮箱对push代码到远程仓库有什么影响?
首先,配置的用户名和邮箱对push代码到远程仓库时的身份验证没有作用,即不用他们进行身份验证;他们仅仅会出现在远程仓库的commits里。
其次,按正常操作来说,你应该配置你的真实用户名和邮箱,这样一来在远程仓库的commits里可以看到哪个操作是你所为。
最后,这个用户名和邮箱是可以随便配置的(不提倡),如果你配置的邮箱是github里真实存在的邮箱,则commits里显示的是这个邮箱对应的账号;如果配置的邮箱是一个在github里不存在的邮箱,则commits里显示的是你配置的用户名。
简易版指南
https://www.runoob.com/manual/git-guide/
Git使用教程4---状态
我们怎么知道哪些文件是新添加的,哪些文件已经加入了暂存区域呢?总不能让我们自己拿个本本记下来吧? 当然不,作为世界上最伟大的版本控制系统,你能遇到的囧境,Git 早已有了相应的解决方案。随时随地都可以使用git status查看当前状态
F:\MyProject>git status
On branch master
nothing to commit, working tree clean
On branch master: 我们位于一个叫做“master”的分支里,这是默认的分支 nothing to commit, working directory clean : 说明你的工作目录目前是“干净的”,没有需要提交的文件(意思就是自上次提交后,工作目录中的内容压根儿就没改动过)。
1.工作区域
Git本地有三个工作区域:工作目录(Working Directory),暂存区(Stage/Index),资源库(Repository或Git Directory)。如果再加上远程的git仓库(Remove Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:
- Workspace:工作区,就是平时存放项目代码的地方
- Index/Stage:暂存区,用于临时存放你的改动,事实上它是一个文件,保存即将提交的列表信息
- local Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里有你提交到所有版本的数据,其中HEAD指向最新放入仓库的版本
- Remote Repository:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
以上四个工作区其实跟我们挂钩的只有工作区和远程仓库,暂存区和仓库区我们只需要通过命令操作即可
2.Git 常用命令
2.1设置用户签名
基本语法
git config --global user.name qinyue
git config --global user.email 439992604@qq.com
这个邮箱可以是虚拟邮箱,也可以是真实邮箱,git不会去验证是否是真的邮箱号
设置完成之后,在电脑的c盘 --用户 底下可以查看到一个git配置文件
2.2 初始化本地库
在一个空文件夹下 右键--Git Bash Here 输入命令
2.3查看本地库状态
git status`
cat 文件名 //查看文件内容
2.4添加暂存区
git add 文件名
2.5 提交本地库
git commit -m "本次提交日志信息" 文件名
注意:这个标红线的为版本号
git reflog //可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git log //查看详细日志
2.6历史版本
复制你想要穿梭过去的版本号
3 Git分支操作
3.1查看分支
git branch -v
3.2 创建分支
git branch 分支名
3.3 切换分支
git checkout 要切换到的分支名
3.4 合并分支
在master分支上 把hot-fix分支合并过来
git merge hot-fix
4.远程库操作(以GitHub为例)
4.1创建远程仓库 “别名”
git remote -v //查看当前所有远程地址别名
git remote add 别名 远程地址
4.2 推送本地的分支到远程仓库
git push 别名/远程仓库地址 分支
4.3拉取远程仓库到本地库(远程库有更新了,本地库和远程库不一致了,拉取远程库以更新本地库)
git pull 别名/远程库地址 分支 //拉取操作会自动帮你提交本地库
4.4克隆远程仓库到本地
git clone 远程地址 //一般应该是别人的仓库,你去拉取别人的远程仓库下来 克隆过程中不会让你去登录账号
5 团队内合作
5.1邀请别人加入你的远程仓库协作