Git命令学习笔记
一、本地代码增,删,改,查,提交,找回
git checkout . //抛弃工作区所有修改
git checkout -- <file> //抛弃工作区<file>文件的修改
git add <file> // 将本地工作区<file>文件修改提交到本地暂存区
git add . // 将本地工作区所有修改提交到本地暂存区
git rm <file> // 从版本库中删除文件
git reset <file> // 将<file>文件从暂存区恢复到工作区
git reset -- . // 将所有文件从暂存区恢复到工作区
git commit --amend // 修改最后一次提交记录
git commit -m '说明' // 从暂存区提交到代码库
git revert <$id> // 回滚到某次提交的状态,同时创建新的提交
git revert HEAD // 回滚到最后一次提交的状态
二、查看文件diff
git diff <file> // 比较工作区<file>文件和暂存区<file>文件差异
git diff // 比较工作区所有文件和暂存区差异
git diff --staged // 比较暂存区和版本库差异
git diff --cached // 比较暂存区和版本库差异
三、提交记录log
git log --stat //查看提交简介
git log -p -2 // 查看最近两次详细修改内容的diff
git log -p <file> // 查看每次详细修改内容的diff
四、Git 本地分支管理
查看、切换、创建和删除分支
git branch -r // 查看远程分支
git branch <new_branch> // 本地创建新的分支
git branch -v // 查看各个分支最后提交信息
git merge <branch> // 将branch分支合并到当前分支
五、Git暂存管理
git stash // 暂存
git stash list // 列所有stash
git stash apply // 恢复暂存的内容
git stash drop // 删除暂存区
六、Git远程分支管理
git pull // 抓取远程仓库所有分支更新并合并到本地
git fetch origin // 抓取远程仓库更新
git merge origin/master // 将远程主分支合并到本地当前分支
git push // push所有分支
git push origin master // 将本地主分支推到远程主分支
git push -u origin master // 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)
git push origin <local_branch> // 创建远程分支, origin是远程仓库名
七、Git远程仓库管理
git remote -v // 查看远程服务器地址和仓库名称
git remote show origin // 查看远程服务器仓库状态
git remote add origin git@ github:robbin/robbin_site.git // 添加远程仓库地址
git remote set-url origin git@ github.com:robbin/robbin_site.git // 设置远程仓库地址(用于修改远程仓库地址)
git remote rm <repository> // 删除远程仓库
创建远程仓库
git push -u origin master // 客户端首次提交
八、日常使用git流程
git status //查看工作区的修改状态
git pull
git add .
git commit -m '说明'
git push 或者 git push origin master
九、git push简介:
git push的命令结构为 git push <远程主机名> <本地分支名> <远程分支名>
例如 git push origin master:refs/for/master 即是将本地的master分支推送到远程主机origin上的对应master分支,origin 是远程主机名,第一个master是本地分支名,第二个master是远程分支名。
git push常用命令解释:
git push origin master
将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
git push origin :refs/for/master
表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin --delete master
git push origin
将当前分支推送到origin主机的对应分支
git push
如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push,可以使用git branch -r ,查看远程的分支名
参考文章:
Git push常见用法:http://www.cnblogs.com/qianqiannian/p/6008140.html
Git 常用命令 :http://www.cnblogs.com/cspku/articles/Git_cmds.html
Git命令学习笔记的更多相关文章
- git的学习笔记(二):git远程操作
1.创建ssh key ssh-keygen -t rsa -C "your_email@example.com" 执行命令后会在用户的家目录生成.ssh的隐藏文件夹,文件夹里有公 ...
- TCP/IP协议学习之实例ping命令学习笔记
TCP/IP协议学习之实例ping命令学习笔记(一) 一. 目的为了让网络协议学习更有效果,在真实网络上进行ping命令前相关知识的学习,暂时不管DNS,在内网中,进行2台主机间的ping命令的整个详 ...
- linux基础命令学习笔记(二)
linux基础命令学习笔记(二) 1.kill :终止进程 kill pid (唯一标示一个进程) kill -9 强制终止 kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...
- 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总
本篇基于redis 4.0.11版本,学习发布订阅.事务.脚本.连接的相关命令. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 序号 ...
- 【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)
本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令. 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边 ...
- 【Redis】命令学习笔记——哈希(hash)(15个超全字典版)
本篇基于redis 4.0.11版本,学习哈希(hash)相关命令. hash 是一个string类型的field和value的映射表,特别适合用于存储对象. 序号 命令 描述 实例 返回 HSET ...
- 【Redis】命令学习笔记——字符串(String)(23个超全字典版)
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 本篇基于redis 4.0.11版本,学习字符串( ...
- 【Redis】命令学习笔记——键(key)(20个超全字典版)
安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑! 准备工作,使用db1(默认db0,由于之前练习用db0 ...
- Linux命令学习笔记目录
Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...
随机推荐
- [LeetCode 题解]: Valid Palindrome
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignori ...
- ArcGis Android 10.2.6更新文档翻译
ArcGis Android 10.2.6更新文档翻译 @[ArcGis Android|10.2.6|更新文档] 本文描述了ArcGIS Runtime SDK for Android 10.2.6 ...
- scvmm2008 错误 2921 0x8007054F
这个错误是由于bits智能传输服务依赖的https 443端口被占用.443端口一般常用于银行.购物网站,是一种加密的http,一般是通过ssl安全套接字来加密的,但是ssl漏洞可能被木马病毒利用. ...
- Wait--常见的等待类型
--==================================================================================--SLEEP_BPOOL_FL ...
- 使用原生javascript和jQuery解析json数据
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式. JSONM文件中包含了关于“名称”和“值”的信息. 有时候我们需要读取JSON格式的数据文件,在jQuer ...
- RabbitMq初探——php的一个demo
<?php /** * Created by PhpStorm. * Date: 2017/10/17 * Time: 16:21 */ class Rabbit { public functi ...
- heap与stack的区别
java 的内存分为两类,一类是栈内存,一类是堆内存.栈内存是指程序进入一个方法时,会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量,当这个方法结束时,分配给这个方法的栈会释放,这 ...
- NOIP前的模板
1.筛\(phi\) \(logn\)求少数\(phi\) inline int phi(R int x){ R int res=x,tmp=x; for(R int i=2;i*i<=x;i+ ...
- postgres常用命令
1.登录 psql -U pname -d database // pname 表示postgres的登录用户名,database 则表示要访问的数据库 2.查看所有的数据库 \l 3.查看所有的表 ...
- Linux下安装渗透测试框架Metasploit
我们先来说一种方法,直接从github来下载: git clone --depth=1 git://github.com/rapid7/metasploit-framework metasploit ...