• git工具学习


    最近实习的时候,遇到git工具,发现好强大之前没用过,特来学习下,然后自己注册了一个github账号,结合git命令练习一下,git的安装就不说了。

    学习资料来源:廖雪峰Git教程

    git简介:

    git是分布式版本控制系统,相对于集中式版本控制系统有很大的优势,集中式版本控制系统最大的毛病就是必须联网才能工作,并且,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。

    git常用命令:

    git init  :初始化git仓库

    git clone 地址:克隆仓库(默认克隆的是仓库master主分支的内容)

    git clone -b <指定分支名><远程仓库地址> :克隆指定仓库的指定分支内容

    git add file1 file2  :添加文件,可以同时添加多个文件

    git commit -m "说明文字"  :提交文件,可以一次提交很多文件

    git remote add 简称  URL路劲  :添加远程仓库的路径简称

    git remote -v   :列出已有的远程仓库的路径

    git branch -a  :列出所有分支

    git branch    :查看当前分支

    git branch -r  :远程分支

    git branch -l  :本地分支

    git checkout branchname  :切换分支

    git checkout -v branchname :创建并且切换到这个分支

    git log  :从近到远查看修改历史

    git log --pretty=oneline :简单显示修改历史

    git reset --hard HEAD^  :回退到上一个版本

    git reset --hard 本版id   :回退或前进到任意版本

    git reflog:记录每一次命令,包括本版id号

    git checkout -- file :放弃工作区中对文件的修改

    git reset HEAD file  :可以把暂存区的修改撤销掉(unstage)

    git rm  文件名;git commit -m  :从版本库中删除文件

    git checkout --文件名  :其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

    git push -u origin master :第一次推送master分支的所有内容内容

    git push origin master:推送最新修改

    git pull origin master  :从远程仓库代码

    git merge  dev  :将dev分支的内容合并到当前分支上来

    git branch -d dev :删除dev分支

    git stash :储存工作现场

    git stash list : 列出存储了哪些工作现场

    git stash apply :恢复工作现场,但是工作现场的存储,需要用git stash drop 来删除git checkout -b dev origin/dev

    git stash pop :恢复工作现场,同时删除工作现场的存储

    git checkout -b dev origin/dev  :创建远程origin 的dev分支到本地

    ......................

    下面介绍几个git的概念:

    工作区:

    就是你在电脑里能看到的目录,比如我的workspace文件夹就是一个工作区

    版本库:

    工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

    Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD,关系如下图

     

    前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:

    第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

    第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

    因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。

    使用场景:文件修改回退:

    场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

    场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交那就回退到上一版本,不过前提是没有推送到远程库。

    git checkout -b dev origin/dev
  • 相关阅读:
    也用 Log4Net 之将日志记录到数据库的后台实现 (二) jerry
    也用 Log4Net 之将自定义属性记录到文件中 (三) jerry
    Mongodb之(初出茅庐) jerry
    Mongodb之(初识如故) jerry
    Entity Framework 4.1/4.3 之七 (DBContext 之4 数据验证) jerry
    跨服务器导入数据SQL语句 jerry
    EasyUI ComboTree 异步加载 ( .net 版 ) jerry
    Mongodb之(小试牛刀) jerry
    Sql Server 技术细节之(如何修改表的所有者) jerry
    [转]VS2008的DDK环境配置及DDK下载
  • 原文地址:https://www.cnblogs.com/tsdblogs/p/10111696.html
Copyright © 2020-2023  润新知