git学习笔记:常用命令总结
本文根据廖雪峰的博客,记录下自己的学习笔记。主要记录常用的命令,包括仓库初始化、添加文件、提交修改、新建分支、内容暂存、分支管理、标签管理等内容。
git是分布式版本控制系统。
首先是安装,从官网下载安装包,按照提示安装即可,安装好后可以在 开始 菜单找到 Git bash,同时 右键菜单也可以看到 Git bash here。
基本概念:
工作区 Working Directory :电脑里面能看到的目录
版本库 Repository:工作区中一个隐藏目录.git,这个不算工作区,而是git的版本库。
暂存区 Stage:版本库中的一块区域
主分支 master:在创建版本库时默认创建的一个分支
指针 HEAD:指向某个分支中的某个commit
创建版本库
新建一个目录,通过如下命令可以将这个目录变成git可以管理的仓库
git init
提交修改
如果新增或者修改了一个或者多个文件,采用add命令是添加到stage(暂存区),如果没有git add到暂存区,那就不会加入到commit中。
git add file01.txt file02.txt
git commit -m "add two file"
查看工作空间的状态
git status
查看修改的内容
git diff
删除文件,先从工作区删除文件,然后用下面的命令,接着在commit,就可以从版本库中删除
git rm file01.txt
撤销误删除,可以从版本库里面恢复误删文件到工作区
git checkout -- file01.txt
版本管理
查看提交日志和分支历史
git log
git log --graph --pretty=oneline --abbrev-commit
回退到上一个版本
git reset --hard HEAD^
回退到某个版本,下面命令中1094a的是在log中看到某个版本号
git reset --hard 1094a
查看所有的命令历史
git reflog
撤销在工作区的修改文件,注意是双短横杠--
git checkout --file01.txt
撤销在暂存区的修改文件,执行后,修改的文件会保存在工作区
git reset HEAD file01.txt
远程仓库
可以将本地仓库的内容和远程仓库关联起来。
用如下命令将本地的内容和远程的仓库关联起来,添加后,远程仓库的名字就是origin
git remote add origin git@github.com:colin/learngit.git
推送本地内容到远程库,参数-u会把本地的master分支内容推送并且关联
git push -u origin master
每次本地提交后,可以采用如下命令推送最新修改
git push origin master
克隆远程仓库地址
git clone git@github.com:colin/learngit
分支管理
创建dev分支,并切换到dev分支
git checkout -b dev
相当于如下两条命令
git branch dev
git checkout dev
查看所有本地分支
git branch
查看所有本地和远程分支
git branch -a
查看本地分支和远程分支的跟踪关系
git branch -vv
切换回master分支
git checkout master
把dev分支合并到master分支上,前提是当前在master分支上
git merge dev
合并分支时禁用Fast forward
git merge --no-ff -m "some message" dev
删除分支
git branch -d dev
临时储藏工作区
git stash
查看stash list
git stash list
恢复临时储藏的工作区
git stash pop
创建本地分支和远程分支的链接关系
git branch --set-upstream-to <branch-name> origin/<branch-name>
标签管理
在最新的一次commit上打上标签
git tag v1.0
查看所有标签
git tag
在某次commit上打上标签,其中f5367是某次commit的id号
git tag v0.9 f5367
查看标签信息
git show v0.9
创建信息较多的标签,其中-a指定标签名,-m指定说明文字
git tag -a v0.1 -m "some message" f5367
删除标签
git tag -d v0.1
推送某个标签到远程
git push origin v1.0
一次性推送全部尚未推送到远程的本地标签
git push origin --tags
删除远程的标签,先删除本地,在push一下
git tag -d v0.9
git push origin :refs/tags/v0.9
END
git学习笔记:常用命令总结的更多相关文章
- GIT学习笔记——常用命令
最近使用使用GIT较多,但命令很容易就忘记了,于是整理下,大多整理与一些文档和他人博客 在当前目录新建建一个纯git代码库 $ git --bare init 在当前目录新建一个Git代码库 $ gi ...
- git 学习笔记(常用命令)
1.新建一个文件,如果没有使用git add 命令将它提交到暂存区,那么这个文件就还没有被跟踪. 2.通过配置.gitignore文件可以指定要忽略的文件,被忽略的文件夹是不会被提交到暂存区的.所以这 ...
- Git学习 --> 个人常用命令add,commit以及push
Git命令行配置1 安装Github2 安装msysgit3 要配置用户名和油箱 git config --global user.name <用户名> 我的命令就是:git confi ...
- Hexo学习笔记--常用命令及部署步骤
参考资料: Hexo搭建Github静态博客:http://www.cnblogs.com/zhcncn/p/4097881.htmlHexo:独立博客新玩法:http://www.aips.me/h ...
- Redis学习笔记--常用命令
以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...
- SQL学习笔记---常用命令
常用命令 变量 1.声明 declare @变量名 类型,… 2.赋值 1.同时赋值多个变量(可以结合查询) select @变量名=表达式1,表达式2 2.单个赋值(推荐) set @变量名=表达式 ...
- ionic学习笔记—常用命令
Ionic CLI介绍 Ionic CLI是开发Ionic应用程序过程中使用的主要工具.它就像一个瑞士军刀:它在一个界面下汇集了大量工具. CLI包含许多对Ionic开发至关重要的命令,例如start ...
- Git学习笔记-相关命令记录
内容来自:https://www.liaoxuefeng.com/wiki/896043488029600/896067074338496 1.Linux安装Git 首先,你可以试着输入git,看看系 ...
- Redis学习笔记~常用命令总结
回到目录 客户端redis-cli常用的命令总结 连接到服务器 redis-cli -h 127.0.0.1 -p 6379 --连接指定的redis服务器 发布/订阅, pub/sub模式运行在re ...
- MongoDB学习笔记—常用命令
这里记录一下MongoDB常用的命令 数据库相关 创建数据库 use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库. 删除数据库:切换到要删除的数据库下,执行命令即 ...
随机推荐
- 第五篇、Python之迭代器与生成器
1.迭代和递归等概念 循环(loop):指的是在满足条件的情况下,重复执行同一段代码.比如,while语句,for循环. 迭代(iterate):指的是按照某种顺序逐个访问列表中的每一项.比如,for ...
- RocketMQ入门(消费者)_3
消费者角色: 1. 推式(一般建议用推式) 2. 拉式 消费模式: 1. 集群(cluster) --均衡负载消费 2. 广播(broadcasting) --发布和订阅 ...
- JS防抖与节流函数封装
防抖 在监听scroll事件的时候经常会用到防抖,当滚动到某一位置而触发状态,从而不会出现频繁滚动持续触发事件的情况 防抖的事件处理机制仅触发一次且必须是结束状态下才会执行 function debo ...
- 根据设备width(375)动态设置font-size
根据html的font-size使用rem来优化移动端页面 (function () { var w = window, d = document.documentElement, t; var re ...
- CAtia_打开提示:许可证过期怎么办
CAtia_许可证过期怎么办:进计算机管理,点开服务和应用程序,点服务,找到DS License Server,在启动此服务的地方点启动,从而开启DS License Server.
- 【转】如何用Eclispe调试java -jar xxx.jar 方式执行的jar包
原文地址:https://www.cnblogs.com/zzpbuaa/p/5443269.html 有时候,我们经常会需要调试 java -jar xxx.jar方式运行的代码,而不是必须在Ecl ...
- Going to university is supposed to be a mind-broadening experience.
Going to university is supposed to be a mind-broadening experience. That assertion is presumably mad ...
- pop() 删除掉数组的最后一个元素
下面的代码首先创建了一个拥有四个元素的数组 myFish,然后删除掉它的最后一个元素. let myFish = ["angel", "clown", &quo ...
- TCP连接笔记
每个socket套接字都有一个引用计数. 调用close时只是将相应的引用计数减1. 只有当引用计数为0时才会真正的清理套接字资源,也就是发送FIN. 若只是想在某个TCP连接上发送一个FIN可以改用 ...
- linux 查看文件方法
vi 文件名 #编辑方式查看,可修改cat 文件名 #显示全部文件内容more 文件名 #分页显示文件内容tail 文件名 #仅查看尾部,还可以指定行数head 文件名 #仅查看头部,还可以指定行数s ...