git是一个分布式版本控制系统,得益于高效、协作和快速的项目代码管理特性几乎每一个软件开发团队都在深度使用。本篇是对git命令的介绍,涵盖了不低于95%的日常操作命令,对你有用话可以收藏一下哦。

一、初始化相关

初始化一个仓库

git init myrepo

克隆一个仓库到本地myrepo目录

git clone git://github.com/linux/linux.git myrepo
git remote add origin git://github.com/linux/linux.git #指定(关联)远程仓库地址,适用于从本地创建的仓库

二、配置相关

查看配置信息

git config --list
git config --list --global #全局的

配置.git文件

git config -e
git config -e --global 全局的

配置全局认证信息,去除--global 为当前仓库配置

git config --global user.name "user_git"
git config --global user.email git@github.com
git config --global user.password "mypasswd"

三、常规操作相关

git中数据在工作区暂存区本地仓库远程仓库 区域流转,下面图片可以比较清晰的呈现

任何时候查看文件git文件流转当前状态

git status

添加文件到暂存区

git add <file>
git add . #添加所有文件(改动文件)

从暂存区删除文件(添加了无用文件)

git restore --staged  <file>
git reset <file> #效果一样

删除或移动、重命名文件,并自动提交到暂存区。用于处理已提交到仓库的文件

git rm|mv <file>

提交修改到本地仓库

git commit -m "change to..."
git commit -am "change to ..." #用于直接提交修改文件,无法提交新增文件

撤销某次提交(会在分支上长生一次commit记录)

git revert <commit>

查看提交记录

git log
git log --graph #图形化查看
git blame <file> #列表的方式查看指定文件修改历史

查看文件修改或区别

git diff #暂存和工作区所有差别
git diff <file> #查看指定文件
git diff HEAD -- <file> #查看工作区和版本库里面最新版本的区别

反复横跳(版本回退)

git reset <commitid> #我们使用git log查询到需要回退版本的commitid
git reset HEAD~1 #回退到上一个版本
git rest HEAD~n #回退到前n个版本

提交修改到远程仓库

git push  #提交有冲突时需要拉取远程最新版本
git push orgin master #将本地master分支提交到远程master分支
git push -u orgin master #提交并关联(适用于从本地创建的仓库)

拉取远程仓库最新版本

git pull  #拉取合并

git fetch #拉取不合并

git pull --rebase  #不会产生merge记录,保持分支干净卫生
git add <conflict-file> #添加解决的冲突的文件
git rebase --continue #解决冲突后继续rebase

四、分支管理

查看本地分支

git branch

创建分支

git branch <branchName>

删除分支

git branch -d <branchName>  #-D 强制删除

切换分支

git checkout <branchName>
git checkout -b <branchName> #创建分支并切换 git switch <branchName>
git switch -c <branchName> #创建分支并切换

拉取远程分支

git checkout -b dev(本地分支名称) origin/develop(远程分支名称) #创建并切换
git fetch origin develop(develop为远程仓库的分支名 #创建

checkout回滚到某个commit id

git checkout <commitid>  #不会影响当前的工作区或分支(只读状态),修改不被保存
git checkout master #回到当前工作区(分支)

checkout回滚某个文件到commitid

git checkout <commit> <file> #会影响当前工作区文件

五、分支操作--合并分支

快速模式,head指针的移动(fast-forward),合并dev到当前分支

git merge dev #合并dev分支

普通模式(no ff),相当于head指针移动到新节点,保留合并历史分支。

git merge --no-ff -m "merge it" dev

六、标签的管理

查看标签列表

git tag

查看标签信息

git show v0.01
git show commit_id #查看某次提交的信息

打标

git tag v0.01

对某次commit打标

git tag v0.01 f45212545

git tag -a v0.01 -m "v0.01 release" f45212545 #包含文字说明

删除标签

git tag -d v0.01

将标签推送到远程,标签默认只存储到本地

git push origin <tagname>
git push origin --tags #推送所有标签

删除远程标签

git tag -d v0.01
git push origin :refs/tags/v0.01

七、其他

工作区暂存

git stash

查看暂存的工作区

git stash list

恢复暂存工作区,stash内容不删除

git stash apply
git stash apply <stash@{n}> #恢复到执行工作区 git stash drop #删除stash内容

恢复暂存工作区,stash内容自动删除

git stash pop
git stash pop <stash@{n}>

复制提交到当前分支,减少重复修改

git cherry-pick <commit>

同属必备系列文章:

vim命令:https://juejin.cn/post/6966772543919226887


文章有不足的地方欢迎在评论区指出。

欢迎收藏、点赞、提问。关注顶级饮水机管理员,除了管烧热水,有时还做点别的。

git命令使用(必备系列)的更多相关文章

  1. 转:【开源必备】常用git命令

    原文:https://zhuanlan.zhihu.com/p/25868120 [开源必备]常用git命令 [已重置]   如今在技术领域,码农们习惯了开源,也离不开免费开源的代码,轻松获取代码,不 ...

  2. 程序员必备基础:Git 命令全方位学习

    前言 掌握Git命令是每位程序员必备的基础,之前一直是用smartGit工具,直到看到大佬们都是在用Git命令操作的,回想一下,发现有些Git命令我都忘记了,于是写了这篇博文,复习一下~ https: ...

  3. Git入门到高级系列1-git安装与基础命令

    视频课程地址 腾讯课堂 为什么要进行项目文件的版本管理 代码备份和恢复 团队开发和协作流程 项目分支管理和备份 git 是什么? git是一个分布式的版本控制软件.版本控制是一种记录一个或若干文件内容 ...

  4. 【GIT】使用Git命令窗口将本地工程提交至远程GitHub

    目标: 1.解决的问题是如何通过Git命令窗口将本地工程提交至GitHub. 2.方便园友的同时也方便自己以后解决此类问题. 步骤: 1.首先登陆GitHub网站https://github.com/ ...

  5. 痞子衡嵌入式:第一本Git命令教程(0)- 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家讲的是Git命令汇编,共12篇文章,循序渐进地介绍Git操作的完整过程. 在开始Git课程之前,需要先跟大家普及2个重要概念(四度空间.四种状 ...

  6. 痞子衡嵌入式:第一本Git命令教程(4)- 转移(add/rm/mv)

    今天是Git系列课程第四课,上一课我们在Git空间里做了一些文件改动并且知道了如何利用Git查看这些变动,今天痞子衡要讲的是将这些变动提交到Git本地仓库前的准备工作. Git仓库目录下的文件改动操作 ...

  7. 痞子衡嵌入式:第一本Git命令教程(6)- 日志(log/reflog/gitk)

    今天是Git系列课程第六课,上一课我们学会了Git本地提交,今天痞子衡要讲的是如何查看Git本地历史提交. 当我们在仓库里做了很多次提交之后,免不了需要回看提交记录,看看自己之前的改动.有三种Git命 ...

  8. 常用Git命令清单。

    上期传送门:[清单]7个管理和优化网站资源的工具 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository: ...

  9. 常用git命令(一)

    git add 命令. 这是个多功能命令:可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等. 将这个命令理解为“添加内容到下一次提交中”而不是“将一 ...

随机推荐

  1. Django(5)django配置信息

    前言 Django的配置文件settings.py用于配置整个网站的环境和功能,核心配置必须有项目路径.密钥配置.域名访问权限.App列表.中间件.资源文件.模板配置.数据库的连接方式 基本配置信息 ...

  2. 使用C#实现一个PPT遥控器

    说明 本项目参考了 https://github.com/yangzhongke/PhoneAsPrompter 项目来完成实现,并对其进行了一些修改完善. 完整代码可以到 https://githu ...

  3. 【敏杰开发】Beta阶段项目展示

    [敏杰开发]Beta阶段项目展示 项目相关地址汇总 线上地址:http://roadmap.imcoming.top 前端仓库:https://github.com/MinJieDev/Roadmap ...

  4. ZOHO的下一个25年:用心为企业服务

    来源:中国软件网 作者:海策 在25周年会上,ZOHO大中华区总裁侯康宁先生豪情壮志,"25岁的ZOHO,已经成长为非典型一线大厂." 1996年,ZOHO成立.截止2021年,Z ...

  5. [刷题] PTA 03-树1 树的同构

    程序: 1 #include <stdio.h> 2 #define MaxTree 10 3 #define ElementType char 4 #define Tree int 5 ...

  6. mpstat命令

    mpstat命令 mpstat命令指令主要用于多CPU环境下,它显示各个可用CPU的状态系你想.这些信息存放在/proc/stat文件中.在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且 ...

  7. 041.Python守护进程,锁信号量和事件

    一 守护进程 1.1 基本概念 守护进程 正常情况下,主进程默认等待子进程调用结束之后结束 守护进程在主进程执行代码结束后,自动终止 守护进程语法: 进程对象.daemon = True ,设置该进程 ...

  8. 搜狗拼音输入法v9.6a (9.6.0.3568) 去广告精简优化版本

    https://yxnet.net/283.html 搜狗拼音输入法v9.6a (9.6.0.3568) 去广告精简优化版本 软件大小:29.2 MB 软件语言:简体中文 软件版本:去广告版 软件授权 ...

  9. logstash数据处理及格式化功能详解

    Grok正则提取日志 环境延续我上一篇ELK单机版的filebeat-->redis-->logstash-->elasticsearch-->kibana环境,详情请参考: ...

  10. 2.7循环_while

    循环 目标 程序的三大流程 while 循环基本使用 break 和 continue while 循环嵌套 01. 程序的三大流程 在程序开发中,一共有三种流程方式: 顺序 -- 从上向下,顺序执行 ...