git

git本地结构


git_第1张图片

git的代码托管中心

    GitHub

    码云

    代码托管中心维护远程库

        》团队内部协作

git_第2张图片

团队外跨团队协作


git_第3张图片


git命令行操作

本地库初始化

git init 初始化一个git仓库 

命令:git add

    效果

git_第4张图片

设置签名

形式

    用户名:

email地址:

作用:区分不同开发人员的身份

辨析:这里设置的签名,和登录的远程库的账号,密码没有任何关系

设置签名命令:

项目级别/仓库级别:仅在当前本地库有效

git config user.name 用户名

git config user.email 邮箱

系统用户级别:登录当前操作系统用户范围

git config --global 用户名

git config --global 邮箱

两者都有时采用项目级别

            如果只有系统级别的签名,那就以系统级别的签名为主

            两个都没有,不可以


git_第5张图片

git status


git_第6张图片


git_第7张图片

查看历史版本记录

git log 最完整的形式

多屏幕显示的控制方式

空格=向上翻页

b= 向上翻页

q= 退出

git log --pretty=oneline


git_第8张图片

git log --oneline


git_第9张图片

git reflog

HEAD@{移动到当前版本需要多少步}

git_第10张图片

版本前进后退

git reset --hard 索引值

git reset --hard a49h04

使用^只能往后,不能往前

git reset --hard HEADA^后退一个版本

git reset --hard HEADA^^^回退三个版本

使用~也是只能后退

git reset --hard HEADA~3 后退三个版本

git_第11张图片

reset 命令的三个参数对比

    --soft:

    仅仅是在本地库移动HEADA指针

    --mixed

    在本地库移动库HEADA指针

    --hard

    在本地库移动库移动HEADA指针

    重置缓存区

    重置工作区】


rm aaa.txt

删除文件能找回了

前提:删除前,文件存在时的状态提交到本地库

        操作:git reset --hard[指针位置]

                指针位置:历史记录或者当前位置

                删除操作已经提交到本地库:指针位置指向历史记录

                删除操作尚未提交到本地库:指针位置使用HEAD

比较文件差异

    git diff 文件名

        将工作区的文件和暂存区的文件进行比较

    git diff 本地库的历史版本 【文件名】

        将工作区的文件和本地库历史记录比较

    不带文件名进行多个比较

git diff apple.text

git_第12张图片


git_第13张图片

git 的分支

在版本控制中,使用多个线路进行并行开发


git_第14张图片

分支的好处

同时并行推进多个功能开发,提高开发效率

各个分支在开发过程中,如果某一个开发分支失败,不会造成其他分支任何影响失败的分支删除重新开发即可。

分支的具体操作

创建分支

    git branch 分支名字

查看分支

    git branch -v

切换分支

    git checkout 分支名

合并分支

    切换到接受的分支上(被可并,增加新内容)

    git checkout 分支名称

    执行一个merge 操作

    git merge hot_fix(分支名称)

删除分支

git branch -d bug//删除bug分支

处理冲突

    编辑文件,删除特殊符号

    把文件修改到满意的程度,保存退出

    git add 文件名

    git commit -m '日志信息'

    注意:此时commit 一定不能带具体的文件名


拉取

pull = fetch+merge

git fetch 远程库地址的别名 远程分支名

git merge 远程库地址别名/远程分支名

git_第15张图片

6.8 解决冲突

    要点

        如果不是基于GITHub远程库的最新版做的修改,不能推送,必须先拉取。

        拉取下来后如果进入冲突状态,则按照‘分支冲突解决’操作解决即可。


git_第16张图片

你可能感兴趣的:(git)