美文网首页
git安装与使用

git安装与使用

作者: weaimike | 来源:发表于2018-06-10 15:03 被阅读0次

    Git是目前世界上最先进的分布式版本控制系统,高端大气上档次!

    1、环境搭建

    git官网下载安装包,默认安装,安装完后 进入Git-Git Bash会跳出一个命令窗口,输入命令

    git --version
    

    即可查看安装情况,如果出现版本号,即代表安装成功。

    安装成功

    ps:Git Bash命令窗口是目录结构 是linux类型,可以用来ssh远程机器和进行和操作linux相关的操作,超级实用!!!

    装完后还需要洗后一步设置,在命令行输入:

    $ git config --global user.name "Your Name"
    $ git config --global user.email "email@example.com"
    

    因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。
    配置之后在命行输入下面命令可以查看具体配置情况

    git config --list
    

    2、版本库管理

    创建版本库的步骤
    1. 选择一个合适的空目录,执行命令git init,会在你的目录出现一个隐藏目录.git,用来版本管理的,严禁修改
    1. 将文件添加至版本库,执行命令git add fileName
    2. 将文件进行提交,执行命令git commit -m "提交说明"

    实操步骤见下图

    1527925757(1).png
    文件状态

    git中使用命令git status用于查看当前库的状态,具体有以下几种情况:

    • 与仓库完全一致时
    1527948919(1).png
    • 新建一个文件(hello.text),还没有添加至版本库时
    image.png

    样例中新添了一个文件,并没有用git管理起来.

    ps:此时如果需要撤销修改,可以使用git checkout -- fileName

    • 执行add命令至暂存区之后:
    image.png

    ps:此时如果需要撤销修改,可以使用git reset HEAD fileName 把提交暂存区的修改去除,之后再使用 git checkout -- fileName即可撤销修改。

    • 进行commit之后,此时文件已经提交至本地仓库了,再执行git status 就第一种情况一样了。

    ps:此时如果需要撤销修改,可以使用版本回退命令git reset 版本号

    #######版本回退
    reset

    版本间的回退使用git reset [--soft||--mixed||--hard] 版本号 来操作

    --soft //只改变分支的提交
    --mixed //改变分支和暂存区,不改变本地工区,默认
    --hard //都改变
    

    Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD指向了你要回退的版本

    revert
    操作撤销使用 git revert 版本号,进行一次性的commit进行覆盖

    reset和revert区别

    版本比较

    可以使用git diff进行版本差异的对比

    image.png

    上图是所有文件的差异显示,源文件默认是HEAD版本,目标文件是本地文件,当然命令可以添加版本和指定文件的命令,git diff 版本号||版本号前几位||HEAD^N(N>=0) 目标文件,例

    git diff f3d3029f9fcc767234d560a2aed1e9298be18952 hello.txt
    git diff f3d30 hello.txt
    git diff HEAD hello.txt
    

    其中版本号f3d3029f9fcc767234d560a2aed1e9298be18952hello.txt的最新一次提交,上面三个命令结果一致。

    #######提交日志
    当想查看提交日志时,可以使用git log [--oneline] [filename]命令,主要有一下集中常见的用法

    git log
    
    image.png
    git log --oneline
    
    image.png
    git log fileName//过缕与文件相关的提交记录,也可添加--oneline
    git reflog//记录命令日志,可添加fileName进行过滤
    
    image.png

    3、远程仓库

    gitHub:现在的git的远程仓库最火的莫过于gitHub(最近微软好像要收购),免费托管,但是如果要创建私有库是需要收费的。

    gitLab:也是一个免费的托管仓库,可以免费创建私有库,一般企业用会自己搭建GitLab的仓库服务。

    github VS gitlab

    使用远程仓库有以下两种场景:

    1. 先有本地仓库,需要上传至远程仓库
    2. 已有远程仓库,需要下载至本地仓库

    一般实际项目都是第2种情况,那这里也以第二种情况进行说明

    step1: 仓库。首先你得获取一个远程仓库的地址,例:git@github.com:weaimike/hello-world.git

    step2:克隆。使用git clone url命令进行仓库克隆

    1527943684(1).png

    克隆完成后,进来项目目录,使用命令git remote -v可以查看远程仓库信息。

    image.png

    step3: 更新。git更新远程仓库使用命令git pull,会将远程仓库的提交拉取至本地 并与本地仓库进行合并,合并的会有冲突,这个在分支管理中会讲解。

    step4:推送。将本地提交推送至远程仓库,使用命令git push [remote-name] [branch-name]

    4、分支管理

    分支开发有点类似下面的图的示意,


    0.png
     git branch 分支名称  //创建分支
     git checkout 分支名称 //切换分支
     git branch     //查看当前分支
     git branch -d 分支名称 //删除分支
     git merge --no-ff -m "合并信息" 分支名称 //将分支名称 以 --no--ff 模式 合并到当前的分支
     git merge 分支名称 //以fast-forward 模式 合并
    

    5、idea使用git

    克隆

    image.png image.png

    上面演示了如何从远程仓库 clone 项目。

    本地开发

    从远程拉下项目之后,就要进行繁琐的项目开发,那idea能不能像 svn那样,一眼就看出 当前文件的状态呢?答案是可以的,看下图

    image.png

    咱们用命令git status来对比下 与idea 显示的结果是对应得上的,通过idea显示的颜色,能够快速的知道当前文件的状态。

    image.png

    开发完之后先提交至本地仓库,先add再commit.

    image.png
    image.png

    idea常见的操作见下:


    常用操作.png

    团队协作模式

    1、需要先用git pull试图合并;

    2、如果合并有冲突,则解决冲突,并在本地提交;

    3、没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

    参考文献

    git使用教程

    相关文章

      网友评论

          本文标题:git安装与使用

          本文链接:https://www.haomeiwen.com/subject/bjxksftx.html