Git 命令学习笔记

  • shell 俗称,用来区别于,操作的始终是计算机的硬件
  • shell 分类

    • 图形化 shell
      可以更直接的去操作系统,例如windows
    • 命令行 shell
      例如 window 底下的cmd命令,linux系统的命令行工具
      git bash 模拟cmd的大部分命令,linux系统直接使用bash
  • git:分布式版本控制系统

配置

  • git config --global <options> <parameter>
    配置文件保存路径在 .git/config
    --global:全局配置,<options>:配置项,<parameter>:参数

  • 设置名字和邮箱地址

git config --global user.name "userName"
git config --global user.email "userEmail"

# 若无法重设,尝试加上 --replace-all
git config --global --replace-all user.name "newName"
  • 查看配置信息 git config --list / git config -l
    这里写图片描述

基本操作

1. 文件操作

  • 输出当前目录 pwd
    这里写图片描述
  • 切换目录 cd
cd css # 切换下级目录
cd ..  # 返回上级目录
d:     # 切换磁盘
  • 查看文件夹目录 ls
    -a:查看所有文件,包括隐藏文件、当前目录和上级目录
    -l:查看详细信息,读写权限
    这里写图片描述

  • 创建目录 mkdir <folderName>
    这里写图片描述

mkdir css js image  # 创建多个目录,使用空格分隔
  • 创建文件 touch <fileName>
touch index.html
touch css/master.less
touch css/master.less js/main.js
  • 查看文件
    cat <fileName>:查看文件,列出全部内容
    这里写图片描述
    more <fileName>:命令模拟,在window下是无效的
    less <fileName>:分页列出内容,翻页:按[space]键,换行:按[Enter]键,退出:输入:q
    这里写图片描述
    head -n <fileName>:查看文件的前几行,tail -n <fileName>:查看文件后几行
    这里写图片描述

  • 移动文件
    mv <fileName> <toPath> 相对路径
    -l:即使目标存在,也要强制重命名或移动文件
    -k:跳过移动或重命名会导致错误情况的操作
    -n:显示发生了什么
    -v:在移动时报告文件的名称

mv index.html default.html # 重命名
mv index.html view/
mv index.html ../projact
mv index.html /view/admin
  • 复制文件 cp <fileName> <toPath>
  • 删除文件 rm <fileName>
  • 删除文件夹
rmdir               # 删除空文件夹
rm <folderName> -r  # 删除非空文件夹,递归方式
  • 解压 tar
  • 查看当前用户 whoami
  • 输入过的命令历史 history
  • 下载 wget
  • 重定向 >>>
ls > mes.txt  # 把ls的结果覆盖到 mes.txt
ls >> mes.txt # 把ls的结果追加到 mes.txt
  • 网络请求 curl
curl http://www.baidu.com
curl http://www.baidu.com > baidu.html
  • 过滤器
    把前面的index.html内容以参数的形式传递到后面grep,然后进行正则匹配
    这里写图片描述
cat index.html | grep b # 返回 index.html 文件中含有字符串 b 的标签

2. VI 编辑

  • vi <fileName>:进入命令行模式
  • 模式之间的切换
    编辑模式与底行模式之间无法直接切换
    命令行模式 → 编辑模式:输入 ia
    命令行模式 → 底行模式:输入 :,即按[Shift] + ;
    返回命令行模式:按[Esc]
    退出命令行模式:输入 :!q
  • 命令行模式
    ZZ:保存并退出
    u:撤销操作
    dd:删除当前行
    yy:复制当前行
    p:粘贴
    [Ctrl] + f:上一页
    [Ctrl] + b:下一页
    i:进入编辑模式,当前光标处插入
    a:进入编辑模式,当前光标后插入
    A:进入编辑模式,当前行最后
    o:进入编辑模式,当前行向下起新行
    O:进入编辑模式,当前行向上起新行

  • 底行模式
    w:保存文件
    w newFile:另存为
    q:退出
    wq:保存并退出
    q!:不保存强制退出
    e!:撤销更改

版本操作

1. 创建版本库

master:默认开发分支
origin:默认远程版本库
Head:默认开发分支
Head^:Head 的父提交

  • 克隆远程版本库
git clone <url>
  • 初始化本地版本库,生成 git 仓库
git init

2. 修改和提交

  • 把文件放入暂存区
git add                  # 把文件放入暂存区
git add -A               # 所有文件
git add **               # 表示一个目录
git add .                # 跟踪所有改动过的文件 
git add <fileName>       # 跟踪指定文件
git status               # 查看当前仓库版本状态
git diff                 # 查看变更内容
git mv <old> <new>       # 文件改名
git rm <file>            # 删除文件
git rm --cached <file>   # 停止跟踪文件但不删除
git commit -m "message"  # 提交所有更新过的文件
git commit --amend       # 修改最后一次提交

3. 查看提交历史

git log            # 查看提交历史
git log -p <file>  # 查看指定文件的提交历史
git blame <file>   # 查看指定文件的提交历史,以列表方式

4. 撤销

git reset --hard HEAD      # 撤销工作目录中所有未提交文件的修改内容
git reset --hard <version> # 回退到某个指定版本
git checkout HEAD <file>   # 撤销指定的未提交文件的修改内容
git checkout <fileName>    # 将暂存区的内容还原到编辑区
git revert <commit>        # 撤销指定的提交

5. 分支与标签

git branch                         # 显示所有本地分支
git checkout <branchName/tagName>  # 切换到指定分支或标签
git branch <newBranch>             # 创建新分支
git branch -d <branchName>         # 删除本地分支
git branch -D <branchName>         # 删除本地分支
git tag                            # 列出所有本地标签
git tag <tagName>                  # 基于最新提交创建标签
git tag -g <tagName>               # 删除标签

6. 合并与衍合

git merge <branch>   # 合并指定分支到当前分支
git rebase <branch>  # 衍合指定分支到当前分支

7. 远程操作

git remote -v                        # 查看远程版本库信息
git remote show <remote>             # 查看指定远程版本库信息
git remove add <remote> <url>        # 添加远程版本库
git fetch <remote>                   # 从远程库获取代码
git pull <remote> <branch>           # 下载代码及快速合并
git push <remote> <branch>           # 上传代码及快速合并
git push <remote> :<branch/tagName>  # 删除远程分支或标签
git push --tags                      # 上传所有标签

这里写图片描述

猜你喜欢

转载自blog.csdn.net/wildye/article/details/80294087