Bootstrap

git的使用

本地库初始化

安装完git之后,在windows任意一目录,鼠标右键选择git bash,进入界面
里面的操作完全兼容linux命令,
1、新建一个文件 mkdir wechar
2、执行 git init,用ls -A 查看里面生成一个隐藏文件夹 (.git)
在这里插入图片描述
git目录里面存放的是本地库相关的子目录和文件,不要删除,不要胡乱的修改,如果里面文件乱掉,我们就不能用git进行版本控制了

设置签名

用户名
邮箱地址
作用:区分不同开发人员的身份
辨析:这里设置的签名和远程登录库的账号(代码托管中心)和密码没有任何关系
命令:
项目级别/仓库级别:仅在前本地库范围内有效
git config user.name xxx
git config user.email [email protected]
保存位置:./.git/config

在这里插入图片描述
系统级别:登录当前操作系统范围内有效
git config --global user.name xxx
git config --global user.email [email protected]
保存位置:~/.gitconfig
在这里插入图片描述
级别优先级 就近原则项目级别优先于系统级别,二者都有是才用项目级别的签名,如果只有系统用户级别就采用系统用户级别的签名为准,二者都没有不允许。

基本操作

状态查看操作
git status 查看工作区,暂存区的状态
添加操作
git add filename 将工作区"添加、修改"到暂存区
提交到本地库操作
git commit -m “提交信息” filename 将暂存区的内容提交到本地库

查看历史记录

git log
多屏显示控制方式:空格向下翻页,b向上翻页,q退出
在这里插入图片描述

git log --pretty=oneline
在这里插入图片描述
git log --oneline
在这里插入图片描述
git reflog
在这里插入图片描述
HEAD@{2} 表示回退到当前版本需要多少步

版本前进后退

git reset --hard 78a3cc6
将指针直到这个版本号 78a3cc6
git reset --hard HEAD^
只能后退,一个^符号表示后退一步
git reset --hard HEAD~3
只能后退,3表示后退3步
在这里插入图片描述
–soft --mix --hard 的区别
–soft 只移动本地仓库
–mix 移动本地库和暂存区
–hard 移动本地库、暂存区、工作区
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除文件并找回

前提:删除前,文件的状态提交到了本地库
操作: git reset --hard [指针位置]
删除操作已提交到了本地库:指针位置指向历史记录
删除操作还未提交到本读库(在暂存区):指针位置使用HEAD

比较文件

git diff filename
与比较暂存区
git diff 本地库中的历史版本 filename
将文件已指定版本进行比较
在这里插入图片描述
符号-表示删除的内容,+表示增加的内容

分支

什么是分支,在版本控制中使用多条线同时控制多个任务。
在这里插入图片描述
分支的好处?
同时并行推进多个功能的开发,提高开发效率
各个分支在开发过程中,如果某一分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

分支操作
创建分支
git branch hot_fix
查看分支
git branch -v
切换分支
git checkout hot_fix
合并分支
1、切换到接受修改的分支(被合并,增加新内容)上
git checkout [被合并的分支]
2、执行merge命令
git merge [有新内容的分支名]

合并分支冲突的解决
在这里插入图片描述
a、手动修改冲突文件
b、执行 git add filename
c、执行 git commit -m “resolve confilict”
注意:解决冲突提交不能带文件名
在这里插入图片描述

在本地创建远程库地址别名并推送到远程库

在这里插入图片描述
git remote -v 查看远程库别名
创建远程库地址别名
git remote add origin https://github.com/17790551662/huashan.git
git push origin master 推送到远程库

克隆

在这里插入图片描述
git clone https://github.com/17790551662/huashan.git
完整的把远程库下载到本地
创建origin远程地址别名
初始化本地库

本地修改之后提交到本地仓库然后再提交到远程仓库
git push origin master

拉取操作

命令 : git pull origin master
拉取 pull = fetch + merge

抓取操作,不会修改本地文件
git fetch [远程库地址别名] [远程分支名]
git fetch origin master

查看抓取下来的内容需要切换到 git checkout origin/master
然后切换回master分支 git checkout master

再mege合并操作
git merge [远程库地址别名/远程分支名]
git merge origin/master
就可以看到修改的内容了

跨团队协作
当自己的任务不能完成时,寻找到第三方人员帮助解决问题
1、第三方人员登录git账号,复制并转到当前项目的git地址点击fork
在这里插入图片描述

在这里插入图片描述
2、第三方人员克隆到自己本地并修改之后提交到自己的远程仓库
3、第三方人员pull request s —> new pull request —> create pull request 发送消息
在这里插入图片描述
4、项目经理打开自己的远程仓库点击 pull requests ,再点击第三方人员发来的内容并审核代码,最后合并到仓库在这里插入图片描述在这里插入图片描述
在这里插入图片描述

ssh免密

打开 git bash 进入到 cd ~
运行 ssh-keygen -t rsa -C [注册github时的邮箱地址],一路空格
最后会生成 .ssh 文件夹 进入文件夹打开文件 id_rsa.pub复制里面的密钥
登录github点击头像 setting --> SSH and GPG keys --> New SSH Key -->
粘贴复制的密钥 —> 回到git bash 创建远程地址别名
执行命令 git remote add origin [项目的github的SSH地址]
git remote add origin [email protected]:17790551662/huashan.git
测试免密推送
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

git工作流介绍

在这里插入图片描述

;