Git命令整理

提交流程
//创建新文件夹
$ mkdir <文件夹名>  

//进入文件夹
$ cd <文件夹名> 

//然后执行 git init 以创建新的 git 仓库。
$ git init

//检出仓库
$ git clone 文件路径

//添加文件到暂存区
$ git add  <filename> 或 git add .  

//将暂存区的所有内容提交更新到当前分支,并注释信息"代码提交注释"
$ git commit -m "代码提交注释"
//注释可以通过单引号来换行
$git commit -m '
> 1.提交内容
> 2.注释文本
> '

//上面的两步可以合在一起写
$ git commit -am "代码提交注释"
$ git commit -a -m "代码提交注释" 

//连接远程github项目(关联一个远程库)
$ git remote add origin git@github.com:ZyjEugene/Bears.git

//将本地项目更新到github项目上去(第一次推送master分支的所有内容,使用 `-u` 参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来。此后,每次本地提交后,只要有必要,就可以使用命令$git push origin master推送最新修改
$ git push -u origin master 

//推送最新修改
$ git push origin master 

//查看远程仓库地址
$ git remote -v

// 强制回退远程仓库到当前版本(在此操作前一定要保证本地版本`git reset --hard <版本号>`到了指定回退的目标版本)
$ git push -f
分支
//查看当前分支
$ git branch
 issue1
 * master //前面有*的就是现在的分支。

//查看远程分支
$ git branch -r 

//查看所有分支(本地+远程)
$ git branch -a

//创建分支
$ git branch <branchname>

//切换分支
$ git checkout <branchname>

//创建和切换分支快捷命令。此命令是上面的两个命令的合体
$ git checkout -b <branchname>

//修改分支的名称
$ git branch -m <oldbranch> <newbranch>

//切换回主分支
$ git checkout master

//删掉指定的分支
$ git branch  -d  <branch name>

//强行删除指定分支
$ git branch -D <branch name>

//查看分支之间的差异。在合并改动之前,你可以使用如下命令预览差异
$ git diff <source_branch> <target_branch>

//合并指定分支到当前分支。合并分支时,Git会默认用Fast forward模式,此模式下,删除分支后,会丢掉分支信息;而且当所有分支都有改动时,容易出错,建议添加 --no-ff 参数,禁用Fast forward模式
$ git merge <name>

//合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。合并时要创建一个新的commit,所以加上-m参数,把commit描述写进去。
$ git merge --no-ff -m "merge with --no-ff" <name>

//除非你将分支推送到远端仓库,不然他人就看不到该分支
$ git push origin <branch>
日志
//查看仓库状态
$ git status

//查看HEAD的移动历史
$ git reflog

//查看所有版本库日志
$ git log

//log输出信息压缩命令
$ git log --pretty=oneline

//查看指定版本库日志
$ git log  <filename>

//查看分支合并图
$ git log --graph
$ git log --graph --pretty=oneline --abbrev-commit

//查看log参数的更多信息
$ git log --help
版本回退
//回到当前版本,放弃所有没有提交的修改 
$ git reset --hard HEAD

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

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

//回到往上的第6个版本
$ git reset --hard HEAD~6

//回到指定版本号的版本(3628164这段数字是commit id,也就是所谓的版本号,它是一大串字符串的前几位,我们没必要把一整串commit id都写出来)
$ git reset --hard 3628164
 
标签
//查看所有标签
$ git tag

//切换到需要打标签的分支上,使用下面命令就可以打一个新标签(标签是默认打在最新提交的commit上的)
$ git tag <name>

//打标签到指定的commit上
$ git tag <name> <commit id>

//查看标签信息
$ git show <tagname>

//创建带有说明的标签。-a:指定标签名,-m:指定说明文字
$ git tag -a <tagname> -m "tag description" <commit id>

//删除本地标签
$ git tag -d <tagname>

//推送指定标签到远程
$ git push origin <tagname>

//推送全部尚未推送到远程的本地标签
$ git push origin --tags
 
//删除指定远程标签(在删除远程标签之前,要先从本地删除)
$ git push origin :refs/tags/<tagname>

保存工作现场
//`存储`当前工作现场,等以后恢复现场后继续工作
$ git stash

//查看`存储`的工作现场
$ git stash list

//恢复`存储`的工作现场,恢复的同时把stash内容也删掉
$ git stash pop

//可以多次`stash`,恢复的时候,先用`git stash list`查看,然后恢复指定的stash
$ git stash apply stash@{0}

最后推荐

Git
阮一峰
廖雪峰
猴子都懂的Git
欢迎指正!

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

推荐阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,449评论 1 26
  • 简介 Git是一款免费、开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。目前开发中大部...
    Guoozx阅读 263评论 0 1
  • 由于Git命令较多,将常使用的Git命令做一下整理与总结。 Git初始化设置git config --global...
    麦兜叮叮当阅读 749评论 0 1
  • $ git init ...
    _Never_阅读 229评论 0 0
  • 1.对于单个的8259A或者是两级中的master而言,I/O地址为0x20和0x21 对于slave而言,i/o...
    101dog阅读 1,650评论 0 0