大家好,我是若川。最近组织了源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。

虽然你可能用图形化工具比较多,但基本的git命令还是需要熟悉的。今天分享常用git命令。


项目前的git配置

检查git版本
git --version
查看git相关命令
git --help
查看当前的git配置信息
git config --list
查看git用户名
git config user.name-查询⽬前git所使⽤的使⽤者名称
git config --global user.name 名称注: --global 表示全局, 没有--global表示只设置在当前项目中的配置
查看git邮箱
git config user.email
-查询git所使⽤的email
git config --global user.email
设置 (配置)全局邮箱
git config --global user.email "eamil@qq.com"
全局配置用户名(设置git使⽤者名称)
git config --global user.name "username"

git对项目中的代码进行管理

初始化git储存
git init
需要提交的所有修改放到暂存区(Stage)
git add *  //将工作区所有修改添加到暂存区
git add .  //将工作区所有修改添加到暂存区
git add <file-name> //将指定文件添加到暂存区
git add *.js  //提交所有.js格式文件
git add -f <file-name> // 强制添加 指定文件添加到暂存区
注:<file-name>指的是文件的名称
恢复(后悔药)

将暂存区的文件恢复到工作区

git reset <file-name>           //从暂存区恢复指定到工作区
git reset -- .                  //从暂存区恢复所有文件到工作区
git reset --hard                // 把暂存区的修改退回到工作区
查看工作区、暂存区的状态
git status
移除暂存区的修改
git rm --cached <file-name>  //将本地暂存区的内容移除暂存区
将缓存区的文件,提交到本地仓库(版本库 )
git commit <file-name> ... "相关的记录信息" //将缓存区的指定文件提交到本地仓库
git commit -m "相关的记录信息"        //将缓存区的所有文件提交到本地仓库
git commit -am '相关的记录信息'       //跳过暂存区域直接提交更新并且添加备注的记录信息
git commit --amend '相关的记录信息'   //使用一次新的commit,替代上一次提交,如果代码没有任何新变化,则用来修改上一次commit的提交记录信息
撤销commit提交
git revert HEAD   //撤销最近的一个提交(创建了一个撤销上次提交(HEAD)的新提交)git revert HEAD^   //撤销上上次的提交

查看日志

查看历史提交(commit)记录
git log    //查看历史commit记录
注:空格向下翻页,b向上翻页,q退出
git log --oneline  //以简洁的一行显示,包含简洁哈希索引值
git log --pretty=oneline //查看日志且并且显示版本
git log --stat     //显示每个commit中哪些文件被修改,分别添加或删除了多少行
查看分支合并图
git log --graph
查看版本线图
git log --oneline --graph

git版本控制(时光机)

回到指定哈希值对应的版本
git reset --hard <Hash>
注:<Hash> 是版本的哈希值
git reset --hard HEAD     //强制工作区、暂存区、本地库为当前HEAD指针所在的版本
版本回退
git reset --hard HEAD~1          //后退一个版本
注:~后面的数字表示回退多少个版本

分支

查看分支
git branch              //查看所有本地分支
git branch -r          //查看所有远程分支
git branch -a         //查看所有远程分支和本地分支
git branch --merged  //查看已经合并的分支
创建分支(依然停留在当前的分支)
git branch <branch-name>
注: <branch-name> 是分支的名称
切换分支
git checKout <branch-name>    //切换到指定分支,并更新工作区
git checkout -         //切换到上一个分支
创建并切换分支(创建一个新的分支,并切换到这个新建的分支上)
git chechout -b <branch-name>
合并分支(合并某一个分支到当前分支)
git merge <branch-name>
删除分支
git branch -d <branch-name>    //只能删除已经被当前分支合并的分支
git branch -D <>branch-name>   //强制删除分支
删除远程分支
git push origin --delete  <remote-branch-name>
注:<remote-branch-name> 远程分支名

远程仓库(团队协作)

克隆远程仓库(从远程仓库拉取代码)
git clone <url>
注:<url>   远程仓库的地址
本地库与远程库进行关联
git remote add origin <url>
注:<url>   远程仓库的地址
查看远程仓库地址别名
git remote -v
新建远程仓库地址别名
git remote add <alias> <url>
注:<alias> 远程仓库的别名<url>   远程仓库的地址
删除本地仓库中的远程仓库别名
git remote rm <alias>
注:<alias> 远程仓库的别名
重命名远程仓库地址别名
git remote rename <old-alias> <new-alias>注:<old-alias>  旧的远程仓库<new-alias>  新的远程仓库
把远程库的修改拉取到本地
git fetch <alias/url> <remote-branch-name>     //抓取远程仓库的指定分支到本地,但没有合并
git merge <alias-branch-name>                //将抓取下来的远程的分支,跟当前所在分支进行合并
git pull <alias/url> <remote-branch-name>    //拉取到本地,并且与当前所在的分支进行合并注:<alias/url> 远程仓库的别名 或者是 远程仓库地址<remote-branch-name> 远程分支名
将本地的分支推送到远程仓库

提示!:在推送前要先拉取哦  git pull

git push <alias/url> <branch-name>     //将本地的每个分支推送到远程仓库
git push <alias/url> --force             //强行推送 当前分支到远程仓库,即使有冲突
git push <alias/url> --all              //推送所有本地分支到远程仓库注:<alias/url> 远程仓库的别名 或者是 远程仓库地址<branch-name>  本地分支名

项目前的git配置

检查git版本
git --version
查看git相关命令
git --help
查看当前的git配置信息
git config --list
查看git用户名
git config user.name-查询⽬前git所使⽤的使⽤者名称
git config --global user.name 名称注: --global 表示全局, 没有--global表示只设置在当前项目中的配置
查看git邮箱
git config user.email
-查询git所使⽤的email
git config --global user.email
设置 (配置)全局邮箱
git config --global user.email "eamil@qq.com"
全局配置用户名(设置git使⽤者名称)
git config --global user.name "username"

git对项目中的代码进行管理

初始化git储存
git init
需要提交的所有修改放到暂存区(Stage)
git add *  //将工作区所有修改添加到暂存区
git add .  //将工作区所有修改添加到暂存区
git add <file-name> //将指定文件添加到暂存区
git add *.js  //提交所有.js格式文件
git add -f <file-name> // 强制添加 指定文件添加到暂存区
注:<file-name>指的是文件的名称
恢复(后悔药)

将暂存区的文件恢复到工作区

git reset <file-name>           //从暂存区恢复指定到工作区
git reset -- .                  //从暂存区恢复所有文件到工作区
git reset --hard                // 把暂存区的修改退回到工作区
查看工作区、暂存区的状态
git status
移除暂存区的修改
git rm --cached <file-name>  //将本地暂存区的内容移除暂存区
将缓存区的文件,提交到本地仓库(版本库 )
git commit <file-name> ... "相关的记录信息" //将缓存区的指定文件提交到本地仓库
git commit -m "相关的记录信息"        //将缓存区的所有文件提交到本地仓库
git commit -am '相关的记录信息'       //跳过暂存区域直接提交更新并且添加备注的记录信息
git commit --amend '相关的记录信息'   //使用一次新的commit,替代上一次提交,如果代码没有任何新变化,则用来修改上一次commit的提交记录信息
撤销commit提交
git revert HEAD   //撤销最近的一个提交(创建了一个撤销上次提交(HEAD)的新提交)git revert HEAD^   //撤销上上次的提交

查看日志

查看历史提交(commit)记录
git log    //查看历史commit记录
注:空格向下翻页,b向上翻页,q退出
git log --oneline  //以简洁的一行显示,包含简洁哈希索引值
git log --pretty=oneline //查看日志且并且显示版本
git log --stat     //显示每个commit中哪些文件被修改,分别添加或删除了多少行
查看分支合并图
git log --graph
查看版本线图
git log --oneline --graph

git版本控制(时光机)

回到指定哈希值对应的版本
git reset --hard <Hash>
注:<Hash> 是版本的哈希值
git reset --hard HEAD     //强制工作区、暂存区、本地库为当前HEAD指针所在的版本
版本回退
git reset --hard HEAD~1          //后退一个版本
注:~后面的数字表示回退多少个版本

分支

查看分支
git branch              //查看所有本地分支
git branch -r          //查看所有远程分支
git branch -a         //查看所有远程分支和本地分支
git branch --merged  //查看已经合并的分支
创建分支(依然停留在当前的分支)
git branch <branch-name>
注: <branch-name> 是分支的名称
切换分支
git checKout <branch-name>    //切换到指定分支,并更新工作区
git checkout -         //切换到上一个分支
创建并切换分支(创建一个新的分支,并切换到这个新建的分支上)
git chechout -b <branch-name>
合并分支(合并某一个分支到当前分支)
git merge <branch-name>
删除分支
git branch -d <branch-name>    //只能删除已经被当前分支合并的分支
git branch -D <>branch-name>   //强制删除分支
删除远程分支
git push origin --delete  <remote-branch-name>
注:<remote-branch-name> 远程分支名

远程仓库(团队协作)

克隆远程仓库(从远程仓库拉取代码)
git clone <url>
注:<url>   远程仓库的地址
本地库与远程库进行关联
git remote add origin <url>
注:<url>   远程仓库的地址
查看远程仓库地址别名
git remote -v
新建远程仓库地址别名
git remote add <alias> <url>
注:<alias> 远程仓库的别名<url>   远程仓库的地址
删除本地仓库中的远程仓库别名
git remote rm <alias>
注:<alias> 远程仓库的别名
重命名远程仓库地址别名
git remote rename <old-alias> <new-alias>注:<old-alias>  旧的远程仓库<new-alias>  新的远程仓库
把远程库的修改拉取到本地
git fetch <alias/url> <remote-branch-name>     //抓取远程仓库的指定分支到本地,但没有合并
git merge <alias-branch-name>                //将抓取下来的远程的分支,跟当前所在分支进行合并
git pull <alias/url> <remote-branch-name>    //拉取到本地,并且与当前所在的分支进行合并注:<alias/url> 远程仓库的别名 或者是 远程仓库地址<remote-branch-name> 远程分支名
将本地的分支推送到远程仓库

提示!:在推送前要先拉取哦  git pull

git push <alias/url> <branch-name>     //将本地的每个分支推送到远程仓库
git push <alias/url> --force             //强行推送 当前分支到远程仓库,即使有冲突
git push <alias/url> --all              //推送所有本地分支到远程仓库注:<alias/url> 远程仓库的别名 或者是 远程仓库地址<branch-name>  本地分支名

················· 若川简介 ·················

你好,我是若川,毕业于江西高校。现在是一名前端开发“工程师”。写有《学习源码整体架构系列》10余篇,在知乎、掘金收获超百万阅读。
从2014年起,每年都会写一篇年度总结,已经写了7篇,点击查看年度总结。
同时,最近组织了源码共读活动,帮助1000+前端人学会看源码。公众号愿景:帮助5年内前端人走向前列。

识别方二维码加我微信、拉你进源码共读

今日话题

略。分享、收藏、点赞、在看我的文章就是对我最大的支持~

你需要的git命令大全来了相关推荐

  1. Git命令大全:轻松掌握Git工具,提高代码管理效率

    文章目录 Git命令大全 一.前言 二.安装 1. Windows系统上的Git安装 2. Linux系统上的Git安装 3. MAC系统上的Git安装 三.配置 四.配置用户名和邮箱地址 五.创建仓 ...

  2. git安装教程(超详细,后附git命令大全)

    Git安装 官网地址: https://git-scm.com/ 查看 GNU 协议,可以直接点击下一步. 3. 选择 Git 安装位置,要求是非中文并且没有空格的目录,然后下一步. Git 选项配置 ...

  3. git讲解以及git命令大全

    git是目前世界上最先进的分布式版本控制工具,他是林纳斯-托瓦兹开发的一款最初只能运行在linux上的代码管理工具,改工具的诞生也挺有意思的,具体git的前世今生大家可以去百度上看看,这里就不多说,反 ...

  4. 全网最全的git命令大全

    Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件.Git官方 ...

  5. GIT | GIT命令大全

    主要总结GIT常用的各种命令. 当然,这里总结的是GIT命令中的冰山一角,不过也是常用的命令,记住命令可以帮助我们快速实现我们的操作. 我个人还是建议多使用git help来帮助自己找到想要的命令,然 ...

  6. 常用的git命令大全

    下面的是我们在日常工作中常用到的git 命令.大家工作中有什么常用到的命令被我遗漏的都可已在评论区反馈我会更新上去.以便以后查阅: 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下.Wor ...

  7. 手把手教最新最全最详细Git使用教程(图文并茂,附Git命令大全学习文档)

    导读 因为教程详细,所以行文有些长,新手边看边操作效果出乎你的预料.GitHub虽然有些许改版,但并无大碍. 最全Git命令学习文档下载(集合整理,非常适合新手) 一.Git是什么? Git是目前世界 ...

  8. 收藏!Git命令大全

    Git目前已经成为国内主流互联网公司通用的代码管理工具:大小企业也已随着潮流纷纷从CVS, Subversion向Git过度.可以说,Git已经成为一名合格程序员的必备技能.而对于我们来说,无论新手或 ...

  9. Git命令大全或者使用Git命令操作也是Git命令总结

    Git的学习总结 学习Git的网站为: https://learngitbranching.js.org  闯关形式的学习方法,试用与电脑操作,手机端体验可能不佳 学习过程中会不断的进行提示,演示,然 ...

最新文章

  1. python学不会的表情包-python这么简单 为何这么多人学不会
  2. 【Linux】tcp缓冲区大小的默认值、最大值
  3. Nacos简介、下载与配置持久化到Mysql
  4. 深入理解计算机系统学后感,深入理解计算机系统(读书笔记)
  5. 开发人员学Linux(2):VirtualBox中安装CentOS7系统设置
  6. 简书 php三级联动,JS 实现三级联动
  7. Linux 命令之 htop -- 互动的进程查看器/查看进程信息
  8. 荔枝派 Nano 全志 F1C100s 编译运行 Linux ubuntu并升级gcc
  9. 【内网渗透】找到内网关键节点
  10. 二叉树C++ | 实现删除节点_4
  11. 详细分析谷歌紧急修复的 Chrome 0day(CVE-2021-21224)
  12. iOS开发UIScrollView常见属性和方法
  13. Python : async和await、asyncio与aiofiles
  14. android qq图片分享到朋友圈,微信分享 QQ分享直接展示视频或图片 分享图片 分享视频...
  15. 线性反馈移位寄存器(LFSR)-非线性反馈移位寄存器的verilog实现(产生伪随机数)...
  16. 基于微信小程序的毕业设计题目(32)求职招聘小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板)
  17. MySQL数据库备份与还原
  18. 无线ap的ntp服务器,怎么配置cisco路由器的NTP
  19. CSS实例——梦幻西游
  20. vnc4server安装路径_redhat6.9VNC安装目录和注意项

热门文章

  1. 科技鸿蒙系统一千章,第一千六百零七章 鸿蒙紫气,成圣之机 (上)
  2. C语言函数实现交换两个整型变量
  3. Flask入门到放弃(四)—— 数据库
  4. ES6 (总结篇二)
  5. 关于JS中的定时器!!!
  6. iOS 关于关键字高亮
  7. Magento--判断checkout中是否使用了coupon code
  8. native的Socket向Android的LocalSocketServer发送汉字乱码的问题
  9. 2012-04-12
  10. Spoken English(001)