美文网首页
Git 学习笔记

Git 学习笔记

作者: 9dfc757b0802 | 来源:发表于2020-01-31 20:30 被阅读0次

# git 结构

![git 结构](_v_images/20200131131547268_15507.png)

# git 工作流程

![git 协作方式](_v_images/20200131130528873_23625.png)

# git 使用

## git 初始化

    git init

## git 设置签名

### 项目级别

* git config user.name tom_pro

* git config user.email goodixmoarong@aut.com

### 系统级别

* git config --global user.name tom_glb

* git config --global xxxx@goodix.com

### 级别优先级

* 就近原则

* 二者必须有一个

#### 本地仓库信息保存位置

*.git/config*

![](_v_images/20200131134158475_1994.png)

#### 全局配置信息保存位置

~/.gitconfig

![](_v_images/20200131134118988_19762.png)

## 命令小结

* 查看

    *git status*

* 添加

  *git add [file name]*

* 提交

  *git commit -m "commit message" [file name]*

* 查看历史记录操作

    * git log

    ![](_v_images/20200131140816037_30655.png)

    * git log --oneline

    *  git log -- pretty=online

    ![](_v_images/20200131140833680_31255.png)

    * git reflog

    ![](_v_images/20200131140847702_10264.png)

    * 多屏显示控制方式: 空格向下翻页

* 上次文件并找回

    * 基于索引值前进后退

        * git reset --hard [局部索引值] 移动指针位置

        * git reset --hard HEAD^ 一个^代表后退一步,那个^代表后退N步

        * git reset --hard HEAD~3 后退3步

    * reset 三个参数对比

        * soft 仅仅在本地库移动HEAD指针

        * mixed 本地库移动HEAD指,重置缓存区

        * hard 本地库移动HEAD指针,重置缓存区,重置工作区

* 删除文件找回

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

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

        * 删除操作已经提交到本地库,指针指向。。。

* 比较文件差异

    * 指令

        * git diff [filename]

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

        * git diff [本地库中历史版本] [filename]

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

            * 不带文件名和工作区所有文件对比

* 命令帮助

* 创建分支

    * git branch [分支名称]

* 查看分支

    * git branch -v

  * 切换分支

      * git checkout [分支名]

  * 合并分支

      * 切换到被合并的分支上

          * git checkout[分支名]

      * 执行 merge 命令

          * git merge [有新内容的分支]

  * 冲突解决

      * 编辑文件,删除特殊符号

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

      * git add [文件名]

      * git commit -m "日志信息"

          * 注意: 此时 commit 一定不能带文件名

  * 本地库与远程库交互

      * 查看远程库

          * git remote -v

      * 添加远程库地址

          * git remote add origin [远程库地址]

      * 推送本地库到远程库

          * git push origin [远程库分支名]

        * 克隆远程库

            * git clone [远程库地址]

  * 克隆

      * 命令

          * git origin [远程地址]

      * 效果

          * 完整的把远程库下载到本地

          * 创建origin 远程地址别名

          * 初始化本地库

* git 拉取

    * pull = fetch + merge

    * git fetch [远程库地址别名][远程库分支]

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

  * 解决冲突

      * 要点

          * 如果不是基于github远程最新库的修改,不能推送,必须先拉取

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

* 跨团队协作

    *

# 常见问题

* 如何去解决fatal: refusing to merge unrelated histories

    * git pull origin master --allow-unrelated-histories

相关文章

  • 学习笔记| git深入浅出 Part1_快速操作指南

    Git专题 学习笔记| git深入浅出 Part1_快速操作指南 学习笔记| git深入浅出 Part2_Git...

  • git 入门

    git 入门学习笔记----3个入门命令:git init、git add、git commit -v 学习场景(...

  • git记录

    Git Magic图解gitgit 学习笔记git游戏(学习)1、消除文档路径中文乱码git config --g...

  • Git学习笔记--常用命令整理

    超实用Git学习笔记 Git全局配置git config --global user.name "用户名"git ...

  • Git常用命令与学习总结

    安装Git Git的下载地址:Git官网下载地址 学习网址 git 学习笔记- Book 在线练习地址 基础常用指...

  • git学习笔记(二)—— git的简单操作

    这是本系列学习笔记的第二篇git 学习笔记(一)—— 初识 git 前言 本篇文章将简要的介绍 Git 的一般操作...

  • 关于crlf

    Git学习笔记:Git设置CRLF(行尾换行符) git config --global core.autocrl...

  • GIT

    Git学习笔记 Git 与 Github对接: cd到当前文档 git init初始化git git add -A...

  • Git学习笔记

    git学习笔记 声明 本文是本人学习Git过程中所做的笔记,以便日后查阅,文中多有错漏之处,不建议用作学习材料,文...

  • Git学习笔记

    git 学习笔记 注册个人信息 git config --global user.name(你的用户名) git ...

网友评论

      本文标题:Git 学习笔记

      本文链接:https://www.haomeiwen.com/subject/rwhnthtx.html