Git学习

来源:互联网 发布:开淘宝店名字 编辑:程序博客网 时间:2024/05/29 19:55

昨天闲来无事,突然发现自己竟然还不会玩转Git,对于一个立志要做技术大牛的人来说简直是不能忍受的事,于是乎,赶紧脑补了一下教程,主要是廖雪峰的blog上的,https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137628548491051ccfaef0ccb470894c858999603fedf000。详细的教程可以参考菜鸟教程和廖雪峰的blog,这里记录一下常用的命令。

基本语法

创建版本库:git init (在某个文件夹下使用此命令可以把该目录变成git可管理)
查看状态:git status
添加文件到暂存区:git add 文件
添加到分分支:git commit -m “[message]”
查看日志:git log
简洁版本日志:git log –oneline
回退到上个版本:git reset –hard HEAD^ (有几个[^] 代表回退到上第几个版本,^^代表上上版本。也可以git reset –hard <版本号>)
查看工作区和版本库里面最新版本的区别:git diff HEAD – 文件
这个文件回到最近一次git commit或git add时的状态:git checkout – 文件
从版本库中删除该文件:git rm

远程仓库

下载分支数据:git fetch [分支]
合并分支到本地:git merge [远程分支]/[本地分支]
下载并合并远程分支到本地:git pull
添加远程仓库:git remote add [origin(自定义远程仓库名)] [git@github.com:michaelliao/learngit.git(远程仓库url)]
推送到远程仓库:git push -u [origin] [master]
第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。之后用git push [origin] [master]推送
克隆远程库:git clone git@github.com:michaelliao/gitskills.git
查看远程库信息:git remote (-v:详细)
删除远程仓库 git remot rm [仓库名]

分支管理

创建并切换分支:git checkout -b [dev(分支名)]
创建分支:git branch [dev]
切换分支:git checkout
查看分支 : git branch
合并分支:git merge [dev]
删除分支:git branch -d [dev]
合并不前进分支:git merge –no-ff -m [“merge with no-ff”] [dev]
强行删除分支:git branch -D [dev]

暂存分支:git stash
查看暂存:git stash list
恢复暂存但不删除:git stash apply
恢复暂存删除:git stash pop
恢复指定暂存:git stash apply stash@{0}

标签

打标签:git tag [标签名] [(可加历史id)]
查看标签:git tag
查看历史提交id:git log –pretty=oneline –abbrev-commit
擦好看标签信息:git show [标签名]
还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字: git tag -a v0.1 -m “version 0.1 released” 3628164
删除标签:git tag -d [标签名]
推送标签 git push [远程名] [标签名(–tags代表所以标签)]