git 命令列表

废话:Git,是分布式版本控制系统,在多人开发的模式下,相信很多人都在用高大上的git,git是目前版本控制系统中非常非常好的。本文不会详细介绍git的历史、发展和功能,都是干货,如果想详细了解git可以看廖雪峰的文章,写的非常好,我也是在这里学习的。

git命令列表:

git status

查看当前仓库的状态,查看修改和未提交的文件。

git diff

查看工作区与暂存区的区别。

git diff fileName

查看对fileName文件做了哪些修改,不写的话就会列出所有修改的文件。

git diff HEAD --fileName

查看工作区与上一条提交的区别。注:从来没有被 add 过 的文件,untracked files 并不会显示出来。

git diff --staged 或 git diff --cached

查看暂存区与最新提交的区别。

git add fileName

将fileName工作区的内容添加到暂存区,‘git add .’是将所有修改的文件的工作区内容添加。(工作区和暂存区大家自行了解吧!)

git commit -m"备注"

将暂存区的内容提交到当前库的当前分支上。

git commit --amend

发现刚刚的提交内容有错误时,并且不想再提交一次,可以在修复后使用git commit --amend。该命令会将工作区与上次提交的内容合并起来,并创建一个新的commit,将当前的commit替换掉。

git log

查看提交历史记录。

git log -p

查看每个提交中的详细修改内容。

git log --stat

查看每个提交中修改的文件。

git show commitId

查看指定提交的修改内容。不加commitId,即为最新的提交。

git show commitId 文件路径

查看指定提交的指定文件的修改内容。

git reset --hard HEAD^

回退到上一版本。‘git reset --hard HEAD^^’回退到上两个版本,以此类推。

git reset --hard commitId

回退到指定的版本,commitId可以通过git log或git reflog获取到。

git revert HEAD^

增加一个新的提交,内容与指定提交相反,达到互相抵消的效果,从而实现撤销提交。

git reflog

git命令的历史列表,记录了每次执行的git命令,包括commitId和提交信息。

git checkout --fileName

销毁fileName工作去的内容,让文件回退到最近一次git commit或git add的状态。

git checkout -b dev

在仓库中创建并切换到dev分支,dev是自己起的分支名。

git branch

列出库中的所有分支,*标注的是当前分支。

git checkout master

切换到master分支。

git merage dev

在master分支上执行该命令,就是将dev分支的内容合并到master上。

git branch -d dev

删除dev分支。

git merage --no-ff -m"备注" dev

在执行git merage命令合并分支时,在没有冲突的情况下,默认采用Fast forward模式进行合并。该命令是禁止Fast forward模式,并会创建一个commit。

git stash

将当前分支的当前工作现场储藏,储藏后git status查看不到修改状态。

git stash list

储藏列表。

git stash apply

恢复储藏的内容,恢复后stash内容不删除,列表中还存在。

git stash pop

恢复储藏内容,恢复后stash内容删除,列表中不存在。

git stash apply stash@{i}

恢复指定的储藏内容,i是列表中的序号。

git branch -D dev

强行删除dev分支,分支在未被合并的情况下执行‘git branch -d dev’删除会失败,需要强行删除,删除后dev的修改会丢掉。

git remote

查看远程库的信息。

git remote -v

查看远程库更加详细的信息,抓取(fetch)和推送(push)的地址。

git push origin dev

将本地仓库分支的所有提交推送到远程仓库对应的分支上面。

git push origin dev -f

强制将本次提交推送到远程仓库。

git tag

查看当前分支下所有的tag。

git tag v1.0

打一个新的tag:v1.o,默认是打在最新提交的commit上。

git tag v1.0 commitId

将tag打在指定的commit上。

git show v1.0

查看tag的信息,如时间、作者、commitId、说明等。

git tag - v1.0 -m“说明信息” commitId

创建带有说明的tag。

git tag -s v1.0 -m"说明信息" commitId

通过私钥签名打tag。

git tag -d v1.0

删除指定的tag。(本地)

git push origin v1.0

将指定的tag推送到远程。

git push origin --tags

将本地所有为推送至远程的tag,一次性推送至远程。

git tag -d v1.0

删除本地的tag。

git push origin :refs/tags/v1.0

删除已经推送至远程的tag,先要将本地的删除。

git merge --abort

取消本次merge操作。

git config --global alias.st status

配置git status命令的别名,--global表示全局有效,不写的话就只在当前库有效。alias.st,st是自定义的,代替status,配置后git st = git status.

git config --global alias.co checkout

git checkout的别名。

.gitignore

存放git提交忽略的文件,在gitignore中配置过的文件,通过git status无修改状态,git commit也不会被提交,不过可能会没用,执行git rm --cached fileName从staged移除之后再试试。

.git/config

别名的配置都存在了这个文件中,可以在里面直接修改或删除某个git命令的别名。

git clean -f

删除当前目录下未被track的文件,但是不会删除gitignore中指定的文件。

git clean -df

删除当前目录下未被track的文件和文件夹,但是不会删除gitignore中指定的文件和文件夹。

git clean -xf

删除当前目录下所有未被track的文件和,不管是否是gitignore中指定的文件和文件夹。

git show commitid 或 git diff commitid^!

查看某次commit的具体修改。

恩!就总结这些git命令了,可能上面哪里理解的不对,欢迎大神们批评教育!

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

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,410评论 9 163
  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 5,587评论 1 17
  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,384评论 1 26
  • [1]勃拉姆斯《匈牙利舞曲第五号》 小提琴一直都那么嘈嘈切切呜呜咽咽,流畅凄婉,它的身形那么小巧,可是它的能量却又...
    梧桐树下的沉思阅读 1,338评论 0 0
  • 问答题 样式有几种引入方式? link和 @import有什么区别? 浏览器缺省设置 外部样式表 内部样式表(在标...
    饥人谷_kule阅读 192评论 0 0