,配置用户名和邮箱

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

,把一个文件夹初始化为git仓库

mkdir lg
git init

,查看当前仓库的状态 git status

,放到暂存区 git add readme.txt

,提交到仓库 git commit -m "init project"


,查看提交历史,使用git log

加参数显示更容易阅读的信息git log --pretty=oneline

使用git reflog 查看命令历史,以回到未来版本

,在提交的版本之间切换git reset --hard commit_id

回到上一个版本git reset --hard HEAD^

,查看工作区与版本库之间的区别 git diff HEAD -- readme.txt

,撤消刚才在工作区的修改 git checkout -- readme.txt

这个是如果放到了暂存区,就从暂存区里面恢复,如果没有,就直接从版本库里面恢复。

,从版本库里面撤消修改 第1步,git reset HEAD readme.txt 第2步,git checkout -- readme.txt

就是改了工作区的内容,还add到暂存区了。上面的命令会把最新的版本库里里面的readme.txt文件放到暂存区,然后再从暂存区里面恢复。

,删除文件 git rm test.txt

,重命名(移动文件) git mv test.txt t.txt ,如果没有使用git mv命令的话,就先git add t.txt,然后git rm test.txt


,生成SSHkey ssh-keygen -t rsa -C "xxx@qq.com" 在git远程仓库上面把id_rsa.pub的内容加上去

,把当前仓库与远程仓库关联起来 git remote add origin git@github.com:nimeiz/lg.git

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

,往远程仓库上推送内容 git push origin master,可以使用git push -u origin master在第一次推送时把本地与远程的master分支关联起来,在以后的使用是可以简化命令

,从远程库克隆仓库下来 git clone git@github.com:nimeiz/lg.git

,查看分支 git branch

,切换分支 git checkout -b dev 意思是创建并切换到dev,相当于git branch dev,git checkout dev

,把dev分支合并到master分支上

git checkout master
git merge dev

,删除dev分支 git branch -d dev 强制删除一个分支git branch -D feature-xx

,解决合并分支时的冲突 1,手动修改有冲突的文件,2,git add xxx.txt,git commit -m "conflict fixed" 就完成了

,在log中查看分支合并图 git log --graph

,使每次合并有记录 git merge --no-ff -m "merge with no-ff" dev

,常用分支策略 master做为最稳定的主版本,dev测试版本,再下面的分支开发

,保存当前工作区现场 git stash

,恢复工作现场 git stash apply恢复,git stash drop删除

=> git stash pop 恢复并且删除

,查看stash内容 git stash list 恢复到指定stash:git stash apply stash@{0}

,推送dev分支 git push origin dev

,远程库的分支 git checkout -b dev origin/dev 创建远程origin的dev分支到本地

,指定本地dev与远程origin/dev的链接 git branch --set-upstream dev origin/devgit pull提示"no tracking information"时用到

,往远程push出现冲突 1,git pull将远程的内容取下来,2,手动解决冲突,3,commit,4,git push origin dev再次推送


,创建标签 git tag -a v0.1 -m "version 0.1 released" 328923

使用 git log --pretty=oneline --abbrev-commit 查看commit_id

,查看标签 git tag

,删除标签 git tag -d v0.1

,推送标签 git push origin v1.0是推送v1.0这个标签,

git push origin --tags是推送所有本地标签到远程

,删除远程的标签 先删除本地的标签git tag -d v0.1

再从远程删除git push origin :refs/tags/v0.1

,本地仓库关联多个远程仓库

git remote rm origin
git remote add github git@github.com:nimeiz/lg.git
git remote add gitee git@gitee.com:nimeiz/lg.git

意思就是 把默认的远程库名origin 使用githubgitee给替换掉

推送的时候使用相对应的远程库名就好了

git push github master
git push gitee master

,配置git命令的别名

git的配置文件在~/.gitconfig里面

s表示status,用ch表示checkout,用co表示commitbr表示branch

unstage表示git reset HEAD file,美化后的log

git config --global alias.s status
git config --global alias.ch checkout
git config --global alias.co commit
git config --global alias.br branch
git config --global alias.unstage 'reset HEAD'
git config --global alias.last 'log -1'
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

GIT命令一页纸的更多相关文章

  1. Git & Github 一页简明笔记

    由于小组工程需要使用git&github的版本控制来协作,但我对其使用并不熟悉,特此写篇一页的笔记放在手边,备随时查阅. 相信这种一页的简明笔记,对大家也是有帮助的.我的笔记总结自廖雪峰的Gi ...

  2. 我 Git 命令列表 (1)【转】

    转自:http://www.microsofttranslator.com/bv.aspx?from=en&to=zh-CHS&a=http%3A%2F%2Fvincenttam.gi ...

  3. git 命令整理

    记录一些git 命令,以便自己以后查阅 基本命令   1.git add (保存工作区的变动到暂存区) git add . 和git add -A把整个工作区添加到暂存区 2.git commit ( ...

  4. Git & Github 一页简明笔记(转)main

    由于小组工程需要使用git&github的版本控制来协作,但我对其使用并不熟悉,特此写篇一页的笔记放在手边,备随时查阅. 使用方法:常用命令供随时查阅,其余内容供新手了解. 0. 常用命令一览 ...

  5. 一天工作所用到的Git命令

    一天工作所用到的Git命令 像大多数新手一样,我一开始是在网上搜索 Git 命令,然后把答案复制粘贴,并没有真正理解它们究竟做了什么. 后来我曾经想过:"如果有一个最常见的 Git 命令的列 ...

  6. git命令的理解与扩展

    Git的模式如图: Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Repository:仓库区(或本地仓库) 一.新建代码库 # 查看gi ...

  7. git 命令行下浏览器tig使用记录

    git 命令行下浏览器tig使用记录 tig 是一款优化 git 命令行的工具,使 git 命令行更加的便捷人性化 .如果用习惯了,会上瘾. 以下是一些使用记录: 安装成功后,在 Repo 文件夹下, ...

  8. 工作所用的日常 Git 命令

    几乎每个开发人员都在使用 Git,当然很可能是 GitHub.但大多数开发者大概有 99% 的时间只是使用这三个命令: #使用命令git add <file>,将文件添加到暂存区 git ...

  9. 源代码管理之Git命令的使用

    目录 02.源代码管理之Git命令的使用 2.Git命令行演练-个人开发 2.1 如何学习git指令 2.2 初始化创建本地仓库 2.3 个人开发基本演练 2.4 Git的基本常识 3.Git命令行演 ...

随机推荐

  1. 微信原始demo

    有可能下载最新的demo下载不到这个原版的精简demo了. 这里为大家提供一下.以下代码为原始未改动代码   01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 ...

  2. JavaScript参考

    要查看英语原文,请勾选"英语"复选框.也可将鼠标指针移到文本上,在弹出窗口中显示英语原文. 翻译 英语 JavaScript 语言参考 JavaScript 是一种可嵌入网页和其他 ...

  3. 高精速撸project A*B

    啊这个乘法我真的想不起来了 所以我跑去看了之前交的代码 那个时候的我真纯真啊,用cin cout都不关同步的 哪像现在,随手先写个inline void in(),能getchar()就不scanf, ...

  4. PTA题---求两个有序序列中位数所体现的思想。

    ---恢复内容开始--- 近日,在做PTA题目时,遇到了一个这样的题,困扰了很久.题目如下:已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数.有序序列A​0​​,A​1​​, ...

  5. 免费靠谱的 Let’s Encrypt 免费 https 证书申请全过程

    申请 Let’s Encrypt证书的原因: 现在阿里云等都有免费的 https 证书,为什么还要申请这个呢(估计也是因为阿里云这些有免费证书的原因,所以 Let’s Encrypt 知道的人其实并不 ...

  6. SQL-PL/SQL基础

    SQL的4GL,对流程控制的支持不够,Oracle的PL/SQL是3GL.加入了流程控制.变量等支持能够在数据库层面上进行程序的设计. PL/SQL的特点 1.支持事务控制和SQL. 2.数据类型在S ...

  7. Linux下实现视频读取(三)---Buffer的准备和数据读取

    前面主要介绍的是:V4L2 的一些设置接口,如亮度,饱和度.曝光时间,帧数,增益.白平衡等.今天看看V4L2 得到数据的几个关键ioctl,Buffer的申请和数据的抓取. 1. 初始化 Memory ...

  8. 【Notification】屏蔽特定应用的通知提示

    须要默认屏蔽特定app的通知提示 设置app是否接收通知的界面 点击每一个条目进去的界面 AppNotificationSettings extends SettingsPreferenceFragm ...

  9. 树莓派学习笔记——USB wifi配置指南

    0 前言     树莓派既能够使用有线网络又能够无线网络,假设使用有线网络不方便的话能够借助USB wifi无线网卡让树莓派也插上无线"翅膀". 可是和使用有线网络即插即用的方式不 ...

  10. ASP.NET WebAPI使用Swagger生成测试文档

    ASP.NET WebAPI使用Swagger生成测试文档 SwaggerUI是一个简单的Restful API测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON配置显示API .项目 ...