zoukankan      html  css  js  c++  java
  • git常用命令图解 & 常见错误

    Git 常用命令


    基本命令

    • git clone.这是一种较为简单的初始化方式,当你已经有一个远程的Git版本库,只需要在本地克隆一份
    git  clone  git://github.com/someone/some_project.git
    
    • 查看远程仓库:
    $ git remote -v
    
    • 添加远程仓库:
    $ git remote add [name] [url]
    
    • 删除远程仓库:
    $ git remote rm [name]
    
    • 拉取远程仓库:
    $git pull [remoteName] [localBranchName]
    
    • 推送远程仓库:
    $ git push [remoteName] [localBranchName]
    

    分支(branch)操作相关命令

    • 查看本地分支:
    $ git branch
    
    • 查看远程分支:
    $ git branch -r
    
    • 创建本地分支:
    $ git branch [name]
    

    注意:创建本地分支后不会自动切换到该分支

    • 删除分支
    $ git branch -d [name]
    • 强制删除分支
    $ git branch -D [name]

    注意:-d选项只能删除已经参与合并的分支,对于未有合并的分支是无法删除的,可以使用-D选项;

    • 切换分支
    $ git checkout -b feature-web-1.0.7 origin/feature-web-1.0.7
    • 查看本地分支:
    $ git branch
    

    版本(tag)操作相关命令

    • 查看版本
    $ git tag
    
    • 创建版本
    $ git tag [name]
    
    • 删除版本
    $ git tag -d [name]
    
    • 查看远程版本
    $ git tag -r
    
    • 创建带注释的tag
    $ git tag -a [name] -m 'yourMessage'
    
    • 删除远程版本:
    $ git push origin :refs/tags/[name]
    

    忽略一些文件、文件夹不提交

    在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如

    target
    
    bin
    
    *.db
    

    Git 命令详解


    • git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master’就是将origin这个版本库的代码更新到本地的master主枝,该功能类似于SVN的update

    • git add:是将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例如’git add app/model/user.rb’就会增加app/model/user.rb文件到Git的索引中,该功能类似于SVN的add

    • git rm:从当前的工作空间中和索引中删除文件,例如’git rm app/model/user.rb’,该功能类似于SVN的rm、del

    • git commit:提交当前工作空间的修改内容,类似于SVN的commit命令,例如’git commit -m story #3, add user model’,提交的时候必须用-m来输入一条提交信息,该功能类似于SVN的commit

    • git push:将本地commit的代码更新到远程版本库中,例如’git push origin’就会将本地的代码更新到名为orgin的远程版本库中

    • git log:查看历史日志,该功能类似于SVN的log

    • git revert:还原一个版本的修改,必须提供一个具体的Git版本号,例如’git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20’,Git的版本号都是生成的一个哈希值

    • git revert:用下面两幅图解释会比较清楚一些,rebase命令执行后,实际上是将分支点从C移到了G,这样分支也就具有了从C到G的功能

    在这里插入图片描述

    • git reset:将当前的工作目录完全回滚到指定的版本号,假设如下图,我们有A-G五次提交的版本,其中C的版本号是bbaf6fb5060b4875b18ff9ff637ce118256d6f20,我们执行了’git reset bbaf6fb5060b4875b18ff9ff637ce118256d6f20’那么结果就只剩下了A-C三个提交的版本

    在这里插入图片描述

    Git 常见错误


    未完待续…

    小彩蛋

    Git 之所以能够提供方便的本地分支等特性,是与它的文件存储机制有关的。Git存储版本控制信息时使用它自己定义的一套文件系统存储机制,在代码根目录下有一个.git文件夹,会有如下这样的目录结构:

    在这里插入图片描述
    HEAD文件存放根节点的信息,其实目录结构就表示一个树型结构,Git采用这种树形结构来存储版本信息,那么HEAD就表示根;refs目录存储了你在当前版本控制目录下的各种不同引用(引用指的是你本地和远程所用到的各个树分支的信息),它有heads、remotes、stash、tags四个子目录,分别存储对不同的根、远程版本库、Git栈和标签的四种引用,你可以通过命令’git show-ref’更清晰地查看引用信息;logs目录根据不同的引用存储了日志信息。因此,Git只需要代码根目录下的这一个.git目录就可以记录完整的版本控制信息

  • 相关阅读:
    :where()和:is()
    响应式布局(媒体查询+rem)
    v-html的问题及解决办法
    Sticky Footer(粘性页脚)
    css多行文字垂直居中
    BFC
    margin负值的情况
    windows系统设置环境变量
    hash和history原生事件
    腾讯WeTest零售行业质量解决方案
  • 原文地址:https://www.cnblogs.com/liuyupen/p/10840246.html
Copyright © 2011-2022 走看看