【基本指令】

git init :使目标文件夹变成一个仓库

git add <文件名,含后缀> : 告诉git我要添加文件了

git commit -m "<提交说明>" :向仓库提交add的文件,并且写一个小说明,可以add很多文件后一起commit

git log : 康康最近提交了啥,修改了啥,其中Head表示的是当前的版本,Head就是上个版本,Head^就是上上个版本,以此类推

git reset --hard HEAD^ :返回上一个版本(依据HEAD寻找)

git reset --hard <版本号> :依据版本号回退/复原,只需要输入版本号前几位就可以了,git会自己去找

git reflog : 得到命令记录

git status : 查看状态

git checkout -- <文件名> : 删除工作区的修改

git reset HEAD <文件名> : 删除缓存区的修改

【远程仓库push和clone】

SSH Key 相关内容 : https://www.liaoxuefeng.com/wiki/896043488029600/896954117292416

创建Github上面的仓库 : https://www.liaoxuefeng.com/wiki/896043488029600/898732864121440

git remote add origin git@github.com:<用户名>/<仓库名> :关联远程仓库(实在不行Github仓库那里有提示)

关联一个远程库时必须给远程库指定一个名字,origin是默认习惯命名;

git push -u origin master : push内容到远程仓库中去

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

git push origin master : 关联后只要这样就可以push内容了

git remote -v :查看远程库信息

git remote rm <名字> : 解除远程库和本地库的关系

git clone git@github.com:<用户名>/<仓库名> : 从远程库克隆一份仓库到本地库

【分支】

git checkout -b <名字> :创建并切换到该分区,相当于这两条命令 ($ git branch dev $ git checkout dev)

git branch : 查看当前分支

git merge :将当前分支合并至X分支

git branch -d :删除X分支 , 使用大写的D可以强行删除还未成果完成合并的分支(当然,这类情况发生的时候,git会提醒你的)

下面的更新后的更科学的switch切换

git switch -c :创建并切换到该分区

git switch :切换到X分支

git merge --no-ff -m "xxxxxxxxx" 在no-ff模式下进行合并

git stash :存储当前的工作并隐藏,可以在之后恢复

git stash list : 查看已存储的工作现场

git stash apply : 恢复,恢复后不会删除stash

git stash pop : 恢复,同时删除stash

这部分注意是用来处理bug的情况,详见廖老师的原教程 https://www.liaoxuefeng.com/wiki/896043488029600/900388704535136

【远程仓库与多人协作】

git remote : 查看远程库的信息,使用 git remote - v 可以查看详细信息

git push <远程库名/一般是origin> <分支名> :推送,比如$ git push origin master

在默认情况下,远程clone下来的项目只可以得到master(主分支)

git checkout -b <分支名> <远程仓库名>/<分支名> :建远程的某个分支到本地,比如 $ git checkout -b dev origin/dev

git pull : 抓取最新的提交(比如你和同伴同时在dev上修改,此时就需要先把提交pull下来,然后合并分支,再继续修改)

推送失败,因为你的小伙伴的最新提交和你试图推送的提交有冲突,解决办法也很简单,先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送

这一部分可以详见廖老师的教程 https://www.liaoxuefeng.com/wiki/896043488029600/900375748016320

在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;

建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;

*git rebase : 使合并操作变“直”,感觉是不一定有必要的骚操作,廖老师教程:https://www.liaoxuefeng.com/wiki/896043488029600/1216289527823648

【标签】

Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针

git tag : 给对应的分支打上标签,name就是名字,默认是给HEAD打标签

git tag <commit码> :给对应的commit码的修改打上标签

创建带有说明的标签,用-a指定标签名,-m指定说明文字。比如$ git tag -a v0.1 -m "version 0.1 released" 1094adb

git tag : 查看所有标签

git show : 查看某个标签的信息

注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。

git tag -d :删除某个标签

git push origin :将某个标签推送至远程

git push origin --tags : 一次性推送所有尚未推送的标签

【结语】

七七八八也写了不少了,再次感谢廖雪峰老师的git教程!

总结相关 https://www.liaoxuefeng.com/wiki/896043488029600/900062620154944

【Git基本命令】的更多相关文章

  1. Git基本命令行操作 (转)

    Git远程操作详解   作者: 阮一峰 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和 ...

  2. Git基本命令 -- 创建Git项目

    在这里下载git:https://git-scm.com/ 安装的时候, 如果是windows系统的话, 可以勾选unix的命令行工具, 这样在windows命令行下会多出很多命令, 例如ls. Gi ...

  3. git —— 基本命令以及操作(No.1)

    git基本命令(附加描述) 1.把文件添加到暂存区$ git add readme.txt 2.把暂存区的文件文件添加到仓库$ git commit -m "提交说明" 备注:ad ...

  4. git基本命令和仓库操作

    首先git是什么?git是github上的一个代码托管工具,是一款代码版本管理工具,github上的代码是基于git来进行托管的.github是全球的开源社区.Git 保存的不是文件的变化或者差异,而 ...

  5. 图解 Git 基本命令 merge 和 rebase

    Git 基本命令 merge 和 rebase,你真的了解吗? 前言 Git 中的分支合并是一个常见的使用场景. 仓库的 bugfix 分支修复完 bug 之后,要回合到主干分支,这时候两个分支需要合 ...

  6. git基本命令-直接上手使用

    git基本命令-直接上手使用 此篇为直接是使用git,如果想了解其原理和其他详细信息,请关注我,看其它相关文章 git创建仓库(初始化仓库) 使用当前目录作为仓库 git init // 执行该目录后 ...

  7. git 基本命令及idea集成使用

    目录 git基本命令使用 设置签名 gitHub 服务配置秘钥 上传代码 更新代码 分支管理 bat脚本更新 idea集成git git基本命令使用 设置签名 签名和秘钥大多数是一起设置的,设置后一般 ...

  8. windows上操作git基本命令

    今天准备整理一下代码,重温一下Git的基本命令,好久不用忘得差不多了. 1. 进入某个目录: 进入D盘,然后进入D盘的名为git的文件夹: $ cd D: $ cd Git 2. 返回上一级目录: $ ...

  9. github之git基本命令介绍的简单整理

    git 格式: git [--version] [--exec-path[=<path>]] [--html-path] [--info-path] [-p|--paginate|--no ...

  10. Git基本命令行操作

    A. 新建Git仓库,创建新文件夹git init  B. 添加文件到git索引git add <filename>  --- 单个文件添加git add * --- 全部文件添加 C. ...

随机推荐

  1. html fragment & svg remove xml namespace

    html fragment & svg remove xml namespace https://developer.mozilla.org/en-US/docs/Web/API/Docume ...

  2. windwos创建和删除服务

    创建 >sc create <service name> type=kernel binpath="C:\hsys.sys" 删除 win+r 输出 regedi ...

  3. 打造NGK生态星空计划,高倍币VAST即将震撼上线!

    援引华盛顿邮报.彭博社.路透社以及CNN等知名媒体的报道,NGK官方近日宣布,为了完善NGK生态星空计划,NGK官方近日即将推出SPC的子币VAST,以鼓励更多的生态建设者参与. NGK官方相关负责人 ...

  4. CURTIS SAVANAH:数字经济=智能基础设施+海量数据+新生业态

    前不久,Datahero Inc公司(公司编号:20141166945)创始人CURTIS SAVANAH在会议上表示,要构建数字经济的愿景,需要智能基础设施.海量数据和全新新生业态. 他在演讲中说到 ...

  5. (转)linux下的系统调用函数到内核函数的追踪

    转载网址:http://blog.csdn.net/maochengtao/article/details/23598433 使用的 glibc : glibc-2.17使用的 linux kerne ...

  6. Java自学第6期——Collection、Map、迭代器、泛型、可变参数、集合工具类、集合数据结构、Debug

    集合:集合是java中提供的一种容器,可以用来存储多个数据. 集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值. ...

  7. 前端axios传递一个包含数组的对象到后台,后台可以用String接收,也可以用List集合接收

    前端代码: data() { return { listQuery: { date: [], } }}, //查询列表信息getList() { if (this.listQuery.date == ...

  8. nginx+php-fpm docker镜像合二为一

    一.概述 在上一篇文章介绍了nginx+php-fpm,链接如下: https://www.cnblogs.com/xiao987334176/p/12918413.html nginx和php-fp ...

  9. Docker Hub 镜像加速器

    一.概述 国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器.Docker 官方和国内很多云服务商都提供了国内加速器服务. 二.配置加速地址 Ubuntu 16.04+.De ...

  10. SpringCloud(四):服务注册中心Eureka Eureka高可用集群搭建 Eureka自我保护机制

    第四章:服务注册中心 Eureka 4-1. Eureka 注册中心高可用集群概述在微服务架构的这种分布式系统中,我们要充分考虑各个微服务组件的高可用性 问题,不能有单点故障,由于注册中心 eurek ...