Git的简单使用

资料来源: Git教程

创建版本库
  1. 创建一个空目录
    $ mkdir demo
    $ cd demo
    
  2. 使用 git init 命令把这个目录变成Git可以管理的仓库,初始化后目录下面会多一个 .git 目录
    $ git init
    
Git命令
  • 添加文件、确认提交、查看状态等

    $ git add <文件名>    // 添加文件到仓库
    $ git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
    $ git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)
    $ git add -A :是上面两个功能的合集(git add --all的缩写)
    $ git commit -m "xxx"    // 提交,-m 后面输入的是本次提交的说明,commit可以一次提交很多文件
    $ git status    // 查看git仓库状态
    $ git diff <文件名>    // 查看difference
    $ git log    // 查看日志  查看简要信息,带上--pretty=oneline
    
  • 回退

    $ git reset --hard HEAD^   // HEAD表示当前版本,HEAD^上一个版本,HEAD^^上上个版本,HEAD~100往上100个版本,直接写版本号版本号的前几  个数字
    $ git reflog    // 查看你每一次的git操作
    $ git checkout -- <文件名>  // 把文件在工作区的修改全部撤销,返回到最近一次git commit或git add时的状态
    $ cat <文件名>  // 查看文件内容
    $ git reset HEAD <文件名>  // 可以把暂存区的修改撤销掉,重新放回工作区
    
  • 删除

    $ rm <文件名>  // 删除文件
    $ git rm <文件名>  // git删除文件
    
  • 远程仓库 原文

    1. 创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key
    $ ssh-keygen -t rsa -C "youremail@example.com"
    

    回车,一直选默认值,密码设置看你心情

    $ git push -u origin master // 把本地库的内容推送到远程。加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
    $ git clone git@github.com:git用户名/远程仓库名称    // ssh协议克隆一个远程仓库到本地
    $ git clone https://github.com/用户名/远程仓库名称    // http协议克隆一个远程仓库到本地
    

git add xx命令可以将xx文件添加到暂存区,如果有很多改动可以通过 git add -A .来一次添加所有改变的文件。

注意 -A 选项后面还有一个句点。 git add -A表示ssh添加所有内容, git add . 表示添加新文件和编辑过的文件不包括删除的文件; git add -u 表示添加编辑或者删除的文件,不包括新添加的文件。

  • 分支管理

    $ git checkout -b dev    // 创建分支dev,相当于下面两条命令
    $ git branch dev
    $ git checkout dev
    $ git branch    // 查看当前分支
    $ git merge dev    // 合并分支    带参数--no-ff 禁用 Fast forward模式,这种方式合并会提交一次commit,所以需要带上描述信息-m
    $ git branch -d dev    // 删除分支  -d 换成 -D可以强行删除没有合并的分支
    $ git log --graph    // 查看分支的合并情况  可以带参数--pretty=oneline --abbrev-commit
    
    $ git stash    // 把当前工作现场储藏起来,去做其他事情,比如修复bug
    $ git stash list    // 查看储藏的工作现场
    $ git stash apply    // 恢复工作现场,但不删除stash的内容
    $ git stash pop      // 恢复工作现场,同时删除stash的内容
    
    $ git remote    // 查看远程库信息
    $ git checkout -b dev origin/dev    //获取远程仓库的分支
    $ git pull    // 获取远程仓库的内容
    $ git branch --set-upstream dev origin/dev    // 将本地的分支和远程的分支关联起来  
    
  • 标签管理

    $ git tag v1.0    // 打标签 
    $ git tag      //  查看所有标签
    $ git show <tagname>    // 查看标签xinxi
    $ git tag -a v0.1 -m "version 0.1 released" 3628164    // 带说明的标签 , -a 标签名,-m 说明
    $ git tag -s v0.2 -m "signed version 0.2 released" fec145a      // -s 用私钥签名
    $ git tag -d v0.1    // 删除标签
    $ git push origin v1.0    // 推送标签到远程库
    $ git push origin --tags    // 推送全部标签到远程库
    $ git push origin :refs/tags/v0.9    // 删除远程库标签,需要先删除本地标签
    
$ git config --list     // 列出Git所有的设置
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,656评论 4 54
  • 前提: SVN属于集中式管理:需要依赖网络以及“中央管理库”Git属于分布式管理:不需要网络,任何人本地都是一个完...
    Eddiegooo阅读 460评论 2 2
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,645评论 9 163
  • 今日请关注 足记用户@Tim.Z 足记号:17526295 Tim.Z用足记记录了两位 80岁的老人牵手游览俄罗斯...
    足记阅读 211评论 0 1
  • “嘿,云翳,一起来吧,一起来喝一杯”。 “不了,等下我还有事情要做”。 “那,好吧,祝你事情顺利”。 “嗯”。 这...
    呼吸的鲸鱼阅读 91评论 0 0