跳至主要內容

Git常用命令注解

muzzik大约 5 分钟笔记版本控制Github

  • 环境配置:
    ssh 配置(推荐):
    https://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.htmlopen in new window

    ssh 配置(配图多):
    https://www.cnblogs.com/jinzhaozhao/p/10012504.htmlopen in new window

  • 常用命令:
    git init 新建一个空的仓库
    git status 查看状态
    git add . 添加所有文件
    git commit -m '注释' 提交添加的文件并备注说明
    git remote add origin ‘仓库 ssh 地址’ 连接远程仓库
    git push -u origin master 将本地仓库文件推送到远程仓库
    git log 查看变更日志
    git reset --hard 版本号前六位 回归到指定版本
    git branch 查看分支
    git branch newname 创建一个叫 newname 的分支
    git checkout newname 切换到叫 newname 的分支上
    git merge newname 把 newname 分支合并到当前分支上
    git pull origin master 将 master 分支上的内容拉到本地上

  • help 说明
    用法: git [--version] [--help] [-C <路径>] [-c <名称>=<值>]
    [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
    [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
    [--git-dir=<路径>] [--work-tree=<path>] [--namespace=<名称>]
    <命令> [<参数>]

这些是在各种情况下使用的常见 Git 命令:

  1. 启动工作区(另请参阅:git help tutorial)
    clone----------------------将存储库克隆到新目录
    init-------------------------创建一个空的 Git 存储库或重新初始化一个现有的存储库

  2. 处理当前更改(另请参见:git help everyday)
    add------------------------添加将文件内容添加到索引
    mv-------------------------移动或重命名文件,目录或符号链接
    restore--------------------恢复工作树文件
    rm--------------------------从工作树和索引中删除文件
    sparse-checkout----------签出初始化和修改稀疏签出

  3. 检查历史记录和状态(另请参见:git help revisions)
    bisect---------------------使用二进制搜索来查找引入了错误的提交
    diff-------------------------显示提交,提交和工作树等之间的更改
    grep-----------------------打印与模式匹配的行
    log-------------------------显示提交日志
    show----------------------显示各种类型的对象
    status---------------------显示工作树状态

  4. 成长,标记和调整您的共同历史
    branch--------------------列出,创建或删除分支
    commit--------------------更改记录到存储库
    merge---------------------将两个或多个开发历史合并在一起
    rebase--------------------重新应用在另一个基本提示之上的提交
    reset-----------------------将当前 HEAD 重置为指定状态
    switch---------------------开关分支
    tag-------------------------创建,列出,删除或验证使用 GPG 签名的标签对象

  5. 协作(另请参阅:git help workflows)
    fetch-----------------------从另一个存储库下载对象和引用
    pull-------------------------从另一个存储库或本地分支获取并与之集成
    push-----------------------更新远程引用以及关联的对象

个人使用记录:

x.x 为代表操作,请带入思考(例:1.3,切换仓库操作)

    1. 仓库
      1. 初始化当前地址为新的仓库目录:git init [1]
      2. 添加仓库地址:git remote add origin "地址" [2]
      3. 切换仓库地址:git remote set-url origin "地址" [3]
      4. 查看当前仓库地址:git remote show origin
      5. 克隆仓库到本地:git clone 存储库地址
    1. 文件
      1. 新建本地文件:echo "内容" > 文件名
      2. 删除本地文件(推荐):rm 命令 文件夹 [4]
      3. 删除本地文件带 git 操作记录:git rm 命令 文件夹 [4:1]
      4. 创建文件夹:mkdir 目录名
      5. 清空工作区和暂存区
        1. 还没有进行 add . 和 commit 操作:git checkout .
        2. 只能清空全部已修改的问题件, 但是对于新建的文件和文件夹无法清空:git clean -d
        3. 清空所有新建的文件和文件夹:git reset .
    1. 代码
      1. 添加新的改动:git add 命令 [5]
      2. 提交操作记录:git commit 命令 "提交说明" [6]
      3. 拉取分支到本地:git pull origin 分支名
      4. 上传代码到分支:git push origin 分支名
      5. 本地强制覆盖到分支(慎用) :git push -f origin 分支名
      6. 添加指定的文件或目录:git add 命令 [7]
    1. 分支
      1. 创建新分支:git branch 分支名 [8]
      2. 切换到分支:git checkout 分支名
      3. 列出本地分支和远程分支:git branch -a
      4. 删除分支:git branch 命令 分支名 [9]
      5. 重命名分支:git branch 命令 分支名 [10]
      6. 基于当前分支新建一条没有 commit 记录但包含文件的分支:git checkout --orphan 新分支名

小技巧(请注意查看注释!!)

  • 正常上传代码,步骤:
    1. 切换仓库地址到要上传的仓库,1.3
    2. 添加新的改动,3.1
    3. 提交操作记录,3.2
    4. 拉取分支到本地,3.3
    5. 上传代码到分支,3.4
    6. 操作结束。
      1. 清除当前分支所有的 commit 记录并保留当前所有文件,步骤:
    7. 切换到我们要操作的分支(如果是小白默认为 master),4.2
    8. 基于当前分支新建一条没有 commit 记录但包含文件的分支(以下简称新分支),4.6
    9. 添加全部操作记录,3.1
    10. 提交包括 rm 操作的操作记录,3.2
    11. 强制删除操作分支,4.4
    12. 重命名新分支为操作分支名,4.5
    13. 本地强制覆盖到操作分支,3.5
    14. 操作结束,去看看网页端还有没有 commit 记录吧。

  • 初始化为新的库
    1. echo "# xxx" >> README.mdopen in new window
    2. git init
    3. git add README.mdopen in new window
    4. git commit -m "first commit"
    5. git branch -M master
    6. git remote add origin https://github.com/xxxx.gitopen in new window
    7. git push -u origin master

  1. 只表示可以做为仓库的存放目录 ↩︎

  2. 为 1.1 后的仓库目录添加地址 ↩︎

  3. 必须先操作 1.2 ↩︎

  4. -r:删除指定位置文件 ↩︎ ↩︎

  5. 这是个点-->.:只添加新增和修改的记录、-u:只添加修改和删除的记录、 -A:全部操作记录 ↩︎

  6. -m:用于提交操作记录(不包括 rm 操作)、-am:用于提交操作记录(包括 rm 操作) ↩︎

  7. 文件夹/:添加指定文件夹及其子文件、文件名:添加指定文件 ↩︎

  8. 不进行分支切换 ↩︎

  9. -d:删除、-D 强制删除 ↩︎

  10. -m:重命名、-M 强制重命名 ↩︎

📣 觉得很赞?分享给你的朋友吧!