30 06 2020

一、Git基本使用

        1、git工作流程图

        image.png


        2、git安装

        默认安装,略过...


        3、基本配置

        ① 打开git bash 

        ② 设置用户信息

        git config  --global user.name  "名字"

        git config  --global user.email  "你的邮箱"

        ③ 查看配置信息

        git config  --global user.name

        git config  --global user.email

        ④ 为常用指令设置别名

        ④.① 打开用户目录,创建bashrc文件。部分windows不允许用户创建.开头的文件,可以使用gitBash,执行touch ~/.bashrc

        image.png

        image.png

        ④.② 在.bashrc文件输入以下内容 :

        #用于输出git提交日志

        alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'

        #用于输出当前目录所有文件及基本信息

        alias ll='ls -al'

        ④.③ 打开gitBash,执行source  ~/.bashrc

        ⑤ 解决gitbash乱码问题

        ⑤.① 打开gitbash执行下面命令

        git config --global core.quotepath false

        image.png

        ⑤.② 打开下面文件输入以下命令,  ${git_home} 安装的git目录

        image.png

        export LANG="zh_CN.UTF-8"

        export LC_ALL="zb_CN.UTF-8"


        4、获取本地仓库

        image.png

        

        5、基本操作命令

        git工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行git命令发生变化

        image.png

        ① 查看修改的状态 

        命令:git status 

        image.png

        ② 添加到工作暂存区

        命令:git add  (文件名,这里不一个个去添加了,直接git add .)

        image.png

        再次查看状态:状态是即将被提交,已经进入到暂存区(提交到仓库之前的一个缓存区域)

        image.png

        ③ 提交到仓

        命令:git commit -m "修改记录"

        image.png

        再次查看状态:

        image.png

        ④ 查看提交日志

        命令:git log [option]     git-log

        image.png

        image.png

        image.png

        修改了文件以后:

        查看修改的文件,再次提交到暂存区

        image.png

        image.png

        把修改的文件提交到仓库,查看提交日志有两次提交

        image.png

        带参数的查看日志:

        git log --pretty=online --abbrev-commit --all --graph

        image.png

        ⑤ 版本回退

        命令:git reset --hard  commitID

        commitID可以通过git-log  或者git  log 查看

        image.png

        返回去

        image.png

        查看已经删除的记录:如果是clear以后,忘记了commitID,可以通过  git reflog 命令查看分析

        命令:git reflog

        image.png

        ⑥ 添加文件至忽略列表(不被git管理)

        一些文件不需要git管理,也不希望它们出现在为跟踪文件列表,我们可以创建一个.gitignore的文件,列出要忽略的文件模式

        image.png

        

        6、分支

        几乎所有的版本控制系统都以某种形式支持分支,使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的bug修改、开发新的功能,以免影响开发主线

        ① 查看本地分支

        命令:git branch 

        查看远端分支

        命令:git branch -a

        image.png

        ② 创建分支

        命令:git branch   分支名

        image.png

        再查看,现在有2个分支

        image.png

        ③ 切换分支

        命令:git checkout  分支名

        image.png

        HEAD指向谁,谁就是当前分支

        image.png

        ④ 切换到一个不存在的分支(创建并切换)

        命令:git checkout -b 分支名

        image.png

        ⑤ 合并分支,  将一个分支上的提交可以合并到另一个分支

        命令:git merge  分支名

        image.png

        ⑥ 删除分支,  不能删除当前分支只能删除其他分支

        命令1:git branch -d  分支名   删除分支时需要做各种检查

        命令2:git branch -D  分支名   不做任何检查,强制删除  

        image.png

        ⑦ 解决冲突

        当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:

        image.png

        来看例子:

        image.png

        image.png

        image.png

        简单粗暴手动修改成5

        image.png

        image.png

        ⑧ 分支在开发中使用的原则与流程

        image.png

        图示如下:

        image.png

        

        7、仓库托管

        ① 托管仓库

        常见的托管仓库有GitHub、码云、GitLab等

        ② 注册码云

        略过......

        ③ 创建远程仓库

        image.png

        ④ 配置SSH公钥

        ④.① 生成SSH公钥 

        ssh-keygen -t rsa   不断回车,如果公钥已经存在,则自动覆盖

        ④.② 获取公

        cat ~/.ssh/id_rsa.pub

        ssh-keygen -

        ④.③ 验证是否配置成功

        ssh -T git@gitee.com   按提示输入yes

        ⑤ 添加远端仓库地址

        git remote add origin  ssh地址

        image.png

        查看远端仓库

        image.png

        ⑥ 推送到远端仓库

        git push origin master

        image.png


        image.png

        提交到远端指定分支名:

        git push 远端名称  本地分支名:远端分支名

        git push origin master:develop

        image.png

        ⑦ 删除指定的远程仓库

        git remote rm 远程仓库名

        image.png

        ⑧ 克隆

        git clone 远端地址  起别名(不指定别名就默认)

        ⑨ 抓取和拉取

        ⑨.① 抓取

        命令:git fetch [remote name] [branch name]

        抓取指令就是将远端仓库的更新都抓取到本地,不会进行合并

        如果不指定远端名称和分支名,则抓取所有分支


        ⑨.② 拉取

        命令:git pull [remote name] [branch name]

        拉取指令就是将远端仓库的修改都拉取到本地并进行自动合并,等同于fetch + merge

        如果不指定远端名称和分支,则抓取所有并更新当前分支

        image.png


        8、解决合并冲突

        image.png

        注意:每次提交代码之前,先 git pull 别人的修改到本地

        9、在IDE中使用git

        ⑨.① 点击文件  -> 设置

        image.png

        ⑨.② 点击Git   ->  点击测试   -> 显示Git版本号表示成功,如果失败则手动指定git安装位置

        image.png

        ⑨.③ 在IDE中操作Git

        image.png

        image.png

        image.png

        image.png


        10、服务器上搭建git仓库

        ⑩.① 安装git

        image.png

        image.png

        ⑩.② 配置git

        a、创建用户组

        image.png

        b、创建用户账号

        image.png

        c、设置账号密码

        image.png

        ⑩.③ git仓库初始化

        a、创建目录,修改目录归属者

        image.png

        b、初始化git仓库

        image.png

        c、修改仓库归属者

        image.png

        ⑩.④ git仓库的使用