Git常用命令

发布于 2019-06-13  1.73k 次阅读


配置工具

给所有的本地仓库配置用户信息

  • 设置提交时的用户名

    $ git config --global user.name "[name]"

  • 设置提交时的邮箱

    $ git config --global user.email "[email address]"

  • 输出高亮

    $ git config --global color.ui auto

构建仓库

开始一个全新的项目或从已经存在的URL中获取

  • 创建具有特殊名字的仓库

    $ git init [project-name]

  • 下载一个项目及其所有的版本记录

    $ git clone [url]

修改

检视编辑内容并制定提交事务

  • 列出即将被提交的新建的或修改的文件

    $ git status

  • 显示暂存区与工作区的文件差异

    $ git diff

  • 快照文件以准备版本控制

    $ git add [file]

  • 显示暂存区和本地库之间的文件差异

    $ git diff --staged

  • 取消暂存文件,但保留其内容

    $ git reset [file]

  • 在版本历史记录中永久记录此文件快照

    $ git commit-m"[descriptive message]"

修改组

命名一系列提交,并组合完成的工作

  • 列出当前仓库的所有分支

    $ git branch

  • 新建分支

    $ git branch [branch-name]

  • 切换分支,并且改变工作区

    $ git checkout [branch-name]

  • 将指定分支的历史记录合并到当前分支中

    $ git merge [branch]

  • 删除指定分支

    $git branch -d [branch-name]

重构文件名

重新定位和删除版本化文件

  • 从工作区和暂存区删除文件

    $ git rm [file]

  • 从暂存区中删除文件,但在本地保留该文件

    $ git rm --cached [file]

  • 更改文件名并准备提交

    $ git mv [file-original] [file-renamed]

禁止追踪

排除临时文件和路径

  • 名为.gitignore的文本文件禁止对与指定模式匹配的文件和路径进行意外版本控制

    *.Log
    build/
    temp-*

  • 列出所有当前项目中被忽略的文件

    $ git ls-files --other --ignored --exclude-standard

保存碎片

搁置并恢复不完整的更改

  • 临时存储所有已修改的被跟踪文件

    $ git stash

  • 恢复最近隐藏的文件

    $ git stash pop

  • 列出所有存储的变更集

    $ git stash list

  • 丢弃最近隐藏的变更集

    $ git stash drop

检视历史

浏览并检查项目文件的演变

  • 列出当前分支的所有版本历史

    $ git log

  • 列出指定文件的所有版本历史(包含重命名)

    $ git log --follow [file]

  • 显示出两个分支的内容差异

    $ git diff [first-branch]...[second-branch]

  • 输出指定提交的元数据与修改的内容

    $ git show [commit]

重做提交

消除错误并制作替代历史

  • 在指定提交后撤销所有提交,在本地保留更改

    $ git reset [commit]

  • 丢弃所有历史记录并回滚到指定的提交

    $ git reset --hard [commit]

同步更改

注册远程仓库并交换版本历史记录

  • 从远程仓库下载所有历史记录

    $ git fetch [bookmark]

  • 将远程仓库的分支合并到当前的本地分支中

    $ git merge [bookmark]/[branch]

  • 将所有本地分支提交上传到GitHub

    $ git push [alias][branch]

  • 下载远程仓库历史记录并整合更改

    $ git pull

 

 

PDF 版命令手册:github-git-cheat-sheet.pdf


面向ACG编程