zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    css选择器优先级
    内置函数filter和map
    hdu 3068 最长回文 manacher算法(视频)
    hdu 5752 Sqrt Bo
    HDU 2176 取(m堆)石子游戏(Nim)
    HDU 2188 悼念512汶川大地震遇难同胞――选拔志愿者(巴什博奕)
    HDU 2897 邂逅明下(巴什博奕)
    POJ 1740 A New Stone Game(普通博弈)
    HDU 2516 取石子游戏(斐波那契博弈)
    hdu 1361 Parencodings 简单模拟
  • 原文地址:https://www.cnblogs.com/tsdblogs/p/10111696.html
Copyright © 2011-2022 走看看