github的常用命令

基础配置

设置(修改)用户名
git config --global user.name ["usrename"]   

更改 .gitconfig 文件

cd ~
vim .gitconfig
查看用户名
git config user.name
设置(修改)邮箱
git config --global user.email ["email"]     
查看邮箱
git config user.email
生成 ssh key
ssh-keygen -t rsa -C ["email"]   
// -t 选项指定。如果没有指定则默认生成用于SSH-2的RSA密钥。这里使用的是rsa 
// 密钥中有一个注释字段,用-C来指定所指定的注释,可以方便用户标识这个密钥
在正常 add 时弹出警告,把这个经过取消
git config --global core.safecrlf false
本地初始化一个仓库
git init
本地仓库与远程仓库进行连接
$ git remote add origin git@github.com:victorxlj/repo   // victorxlj 是你的github账户名 repo是你要关联的仓库名
git remote   // 查看关联的远程仓库的名称
git remote -v   // 查看关联的远程仓库的详细信息
显示工作目录和暂存区的状态
git status
将文件添加到暂存区
git add 123.txt   // 添加某个具体的文件到暂存区,比如123.txt文件
git add .   // 将所有的变更到暂存区
将暂存区里的改动给提交到本地的版本库
git commit -m "我们进行了一次提交"   // -m后面添加一句描述文字
git commit -a -m "我们进行了一次提交"   // 直接从工作区提交到仓库,前提该文件已经有仓库中的历史版
git commit -am "我们进行了一次提交"   // 直接从工作区提交到仓库,前提该文件已经有仓库中的历史版
查看历史提交信息的完整信息
git show [commit_id]   // 查看某一次的,commit_id 提交id值
git show HEAD   // 查看上一次
git show HEAD^   // 查看上上一次的,多一个“^”就多往上走一次
git show HEAD~2   // 查看最近第3(2+1)条提交信息
显示提交过的版本信息
git log   // 显示所有提交过的版本信息
git log -2   // 显示2条提交过的版本信息

// 显示所有提交过的版本信息,简化显示,方便查看
git reflog
git log --oneline
git log --pretty=oneline
git log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short

// 查看某个文件的提交历史
git log 123.txt

git log --grep add   // 查看与文本 add 有关的提交信息  
回退版本
// 回退到上一个版本,最后加一个 "^" 就是回退到上一个版本,俩个"^"就是上上一个版本
git reset --hard HEAD^   

// 回退到某个版本,最后一个是commit id
git reset --hard 1898c2f562bb0f19b85cb85e2ba2cdf00a437c5e   // 最后一个是commit id
如果在回退以后又想再次回到之前的版本,git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作)
git reflog   // 可以查看已经被删除的commit记录,git log 则不能察看已经删除了的commit记录
在工作区的修改全部撤销
git checkout -- abc.txt
把暂存区的修改回退到工作区
// 保留当前工作区的内容,进行合并
git reset HEAD   // 撤回暂存区的内容
git reset HEAD  hello.txt   // 撤回暂存区的某个内容
git reset HEAD^ --soft   // 撤回版本库中的提交到暂存区
git reset [commit id] --hard   // 撤回提交,放弃变更,回退到某个版本
git push -f   // 将目前自己本机的代码库推送到远端,并覆盖
已经提交到版本库,工作区中删除了文件
git rm hello.txt  
git commit -m "删除了hello.txt文件"   // 确实想删除这个文件
查看分支
git branch
创建分支
git branch dev   // "dev"就是你新建分支的名字
切换分支
git checkout dev   // 由当前分支切换到dev分支
创建 + 切换分支
git checkout -b dev   // 先创建dev分支,再切换到dev分支
合并某分支到当前分支
git merge dev   // 把dev分支合并到当前分支
删除分支
git branch -d dev   // 把dev分支删除
将远程origin主机的master分支拉取过来和本地的当前分支进行合并
git pull origin master
把本地的代码推到远程的仓库
git push origin master
将存储库克隆到新目录中
git clone "https://github.com/jquery/jquery.git"   // 双引号内为仓库的地址
设置别名
git config --global alias.ci commit   // 将commit命令设置一个别名为ci
查看某个文件的每个部分是谁修改的
// 获得的格式为 commit ID | 代码提交作者 | 提交时间 | 代码位于文件中的行数 | 实际代码
git blame README.md   

// 加上 -L 参数,后面跟起始行数(这里行数包括开始行,和结束行,5,7 其实获取 5、6、7 三行)
git blame -L 5,7 README.md 
删除当前目录下没有被跟踪的文件
// 一次clean的演习, 告诉你哪些文件会被删除,他不会真正的删除文件, 只是一个提醒
git clean -n

// 删除当前目录下所有没有track过的文件
git clean -f
重命名文件
git mv a.txt b.txt   // 把 a.txt 文件重命名为 b.txt
比较差异
git diff   // 比较的是工作区和暂存区
git diff --cached   //  比较的是暂存区和版本库
git diff HEAD   // 比较的是工作区和版本库
git diff HEAD^   // 比较的是工作区和版本库上一个版本
git diff HEAD~4   // 比较的是工作区和版本库最近的第5个版本
git diff [commit id]   // 比较的是工作区和版本库具体的某一次
git diff [commit id] [commit id]   // 比较的是版本库中某一个版本和某一个版本

标签

列出所有标签
git tag
在当前提交上,打上标签
git tag [tagName] 
新建一个标签在指定commit
git tag [tagName] [commitId]
新建一个标签,并加上message信息注释
git tag [tagName] -m [message]
本地删除标签
git tag -d [tagName]
把标签推送到远程仓库
git push origin v1.0   // 把某个标签推送到远程仓库
git push origin --tags   // 把所有标签推送到远程仓库
远程仓库删除标签
git push origin :refs/tags/[tagName]

分支

列出当前所有分支
git branch
列出远程分支
git branch -r
新建分支
git branch [branchName]   // 依旧停留在当前分支
切换到指定分支
git checkout [branchName]
创建分支并同时切换到该分支
git checkout -b [branchName]
合并指定分支到当前分支
git merge [branchName]
删除指定分支
git branch -d [branchName]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容