git命令小结

关于git的介绍和更详细的使用,请前往 Git教程 - 廖雪峰的官方网站 进行阅读,本文只是将常用的命令做个总结,以备不时之需。

1. git配置

1.1 用户名和邮箱

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

以上命令表示所有的仓库都使用相同的用户名和邮箱,输入如下命令可获取全局配置的用户名和邮箱:

$ git config --global user.name
$ git config --global user.email

如果想对某个仓库使用专门的用户名和邮箱,去掉--global即可,在相应的仓库下输入如下命令:

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

同理,输入如下命令可获取单独配置的用户名和邮箱:

$ git config user.name
$ git config user.email

1.2 SSH Key

本地仓库和远程仓库的传输可以通过SSH协议,所以需要配置SSH Key。

$ cd ~/.ssh
$ ls
config      id_rsa      id_rsa.pub  known_hosts

如果存在.ssh目录,且该目录下存在id_rsaid_rsa.pub两个文件,说明已创建SSH Key,否则需要输入以下命令来创建:

$ cd ~
$ ssh-keygen -t rsa -C "youremail@example.com"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
如果一切顺利的话,可以看到.ssh目录,且该目录下存在id_rsaid_rsa.pub两个文件,通过cat id_rsa.pub命令打开id_rsa.pub文件,并将里面所有的内容复制粘贴到GitHub等仓库托管网站上的SSH Key里的Key文本框中,SSH协议已经配置完成。

2. 仓库管理

git init:初始化本地仓库

git status:查看工作区的状态
git diff <file>:查看file文件的改动

git log:查看提交历史
git log --pretty=oneline:以一行的内容来显示提交历史
git reflog:查看所有的命令历史

git checkout -- <file>:撤销工作区内file文件的改动
git checkout .:撤销工作区内所有文件的改动

git add <file>:添加工作区内修改的file文件到暂存区
git add .:添加工作区内所有修改的文件到暂存区

git reset HEAD <file>:将暂存区的file文件撤回至工作区
git reset HEAD .:将暂存区的所有文件撤回至工作区

git rm <file>:当删除文件,输入git status会提示有文件删除,此时输入该命令删除仓库文件

git commit -m 'commit message':将暂存区的内容提交到本地仓库,提交信息为commit message
git commit --amend:追加到最后一次提交

git pull:从远程仓库拉取所有分支的代码
git pull origin master:从远程仓库拉取master分支的代码,master可改为正在工作的公共分支,如dev分支
git push origin master:推送本地仓库到远程仓库的master分支,master可改为正在工作的公共分支,如dev分支
git remote add origin <远程仓库ssh地址>:本地仓库关联远程仓库
git push -u origin master:把本地库的所有内容推送到远程库上(第一次推送需要添加-u,目的是把本地的master分支和远程的master分支关联起来)
git clone <远程仓库ssh地址>:克隆远程库到本地

3. 分支管理

git branch:查看本地所有分支(前面带*符号的分支为当前分支)
git branch -a:查看本地和远程的所有分支

git branch dev:创建一个dev分支
git checkout dev:切换到dev分支
git checkout -b dev:创建并切换到dev分支,相当于执行了上面两个命令

git branch -d dev:删除dev分支
git branch -D dev:强制删除dev分支

git merge dev:合并dev分支到当前分支
git branch -d dev:删除dev分支
git log --graph:查看分支合并图

git stash:保存当前分支的进度
git stash list:查看当前分支的所有保存历史
git stash apply:恢复当前分支最新保存的内容
git stash apply stash@{0}:恢复当前分支指定保存的内容,配合git stash list使用,{}内的数字表示保存列表中的数字
git stash drop:删除最新保存内容
git stash pop:恢复最新的同时删除最新保存内容,推荐使用,替代git stash applygit stash drop命令

4.标签管理

git tag v1.0:打一个“v1.0”的标签
git tag -a v1.0 -m "message":打一个带说明的“v1.0”标签
git tag:查看标签
git tag v0.9 f52c633:对f52c633这次commit提交打一个“v0.9”的标签
git show v1.0:查看“v1.0”标签的详细信息

git tag -d v1.0:删除“v1.0”标签
git push origin v1.0:推送“v1.0”标签到远程仓库
git push origin --tags:推送本地所有的标签到远程仓库
git push origin :refs/tags/v1.0:删除远程仓库中的“v1.0”标签

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

推荐阅读更多精彩内容