Git笔记

基本操作

  • 本地仓库初始化:git init

  • 基本流程

    Git笔记_第1张图片

设置用户

  • 项目级别/仓库级别:当前项目有效

      git config user.name xxx
      git config user.email xxx@xxx

    信息保存位置: ././git/config

  • 系统用户级别

      git config --global user.name xxx
      git config --global user.email xxx@xxx
    信息保存位置:~/.gitconfig
  • 查看配置信息 git config --list

常用命令

  • 查看状态 git status

  • 添加到暂存区 git add [文件名]

  • 移出暂存区 git rm --cached [文件名]

  • 提交到本地仓库

      git commit [文件名]     进入vim编辑器添加日志
      git commit -m "日志"  [文件名]
  • 查看历史记录

      git log                       查看完整历史记录
      git log --pretty=oneline      每个历史纪录显示一条
      git log --oneline             更简单的显示,只显示过去的记录
      git reflog                    显示指针信息,显示所有记录

    多屏显示控制方式:空格向下翻页,b向上翻页,q退出

  • 历史记录的前进后退

    • 基于索引值【推荐】 git reset --hard 局部索引值
    • 使用^符号:只能后退 git reset --hard^ 一个^表示后退一步,n个表示后退n步
    • 使用~符号:只能后退 git reset --hard HEAD~n 表示后退n步
    • reset命令的三个参数对比

      1. soft:仅仅在本地库移动HEAD指针
      2. mixed:在本地库移动HEAD指针,重置暂存区
      3. hard:在本地库移动HEAD指针,重置暂存区和工作区
  • 比较文件差异

    • git diff [文件名]:将工作区中的文件和暂存区进行比较
    • git diff [本地库中的历史版本][文件名]:将工作区中的文件和本地库历史纪录进行比较
    • git diff:不带文件名比较多个文件

分支管理

  • 查看所有分支 git branch -v
  • 创建新分支 git branch [分支名]
  • 切换分支 git checkout [分支名]
  • 合并分支:切换到被合并的分支上 git merge [分支名]
  • 解决冲突
    1. 编辑文件,删除特殊符号
    2. 把文件修改到满意的程度,保存退出
    3. git add[文件名]
    4. git commit -m "日志" 此时commit不能带文件名

远程操作Github

创建远程库地址别名

  • git remote -v 查看当前所有远程地址别名
  • git remote add [别名] [远程地址]

推送

git push [别名] [分支名]

克隆

git clone [远程地址]
  • 完整的把远程库下载到本地
  • 创建远程地址别名
  • 初始化本地库

拉取

  • pull = fetch + merge
  • git fetch [远程库地址别名][远程分支名]
  • git merge [远程库地址别名][远程分支名]
  • git pull [远程库地址别名][远程分支名]

你可能感兴趣的:(Git笔记)