zoukankan      html  css  js  c++  java
  • Git基本使用教程

    1、创建版本库
         版本库又可以称为仓库(repository),可以简单理解为一个目录,在这个目录下的所有文件都可以被git管理起来,每个文件的新增、修改、删除Git都可以跟踪,以便在任何时刻都可以追踪历史,或者在将来某个时刻进行还原。
         创建版本库首先先创建一个空目录,git负责的是管理这个目录下所有的文件。
         然后通过git init命令吧这个目录变成Git可以管理的仓库。执行命令之后会产生一个.git的目录,这个目录是Git用来跟踪和管理版本库的。不能手动修改。
    $ git init
    Initialized empty Git repository in XXXXX
     
         把文件放在版本库中管理:
    添加文件,添加成功就不会有消息返回。
    $ git add <file1> <file2>
    例如
    $ git add readme.txt readme1.txt
    使用git commit提交到版本库,-m是提交说明,可以不写,但是为了清晰阅读这是必要添加。
    $ git commit -m "first commit"
    2、版本退回
         git log可以查看版本库的提交记录,或者是git log --pretty=online。
         一般会看到一大串无规律的数字或者字母,这还是版本号 commit id ,这个版本号和一般的1、2、3...递增的版本号不一样,这是有SHA1计算出来的很大的数字,用十六进制的版本号。使用这么复杂的版本号的原因是Git是分布式的版本控制系统,如果使用递增的版本号肯定会有冲突的。
         每提交一个新版本,Git胡自动把他们串成一条时间线,如果使用可视化工具查看Git历史可以很清楚的看到提交的历史时间线。
         版本退回,在Git中,Head表示当前版本,也就是最新提交的版本,上一个版本就是Head^,上上个版本就是Head^^,向后退版本数过多的时候可以使用 Head~n,来表示,向前退100个版本写成 Head~100。
         退回上个版本
     $ git reset --hard HEAD^ 
         指定版本号退回,版本号( commit id )就是一串很长的十六进制,如果记不全,可以只写前面几位。
    $ git reset --hard XXXXX
         Git的Head相当于一个指针,版本退回只是把Head指向当前版本改为指向其他版本,所以Git的版本退回很快。
         当然,极有可能一不小心就退回了一个奇怪的版本,自己并不认得,或者执行了什么命令也不记得了,相当于在Git里面迷路了,这时候可以使用 git reflog来查看命令历史,这样相当于找到一个指路明灯。
     
    3、git的暂存区和工作区
         stage在git中的概念十分重要,我们简称为暂存区。在把文件添加进版本库进行管理的时候会进行的两个步骤,git add和git commit。git add是把工作区文件添加进暂存区,然后提交的时候是把暂存区的所有内容提交到当前分支。简单来说就是所有的文件修改都会先放在暂存区,然后一次性提交到分支中,要是不知道文件是否已经添加进入暂存区,可以使用git status查看所有文件的状态就可以查看出各个文件的详细状态。一定要先add添加进暂存区,然后再commit提交到分支,否则直接commit是没有提交修改内容的。
     
    4、撤销修改 git checkout -- file
         撤销修改有两种情况:一种是文件在工作区修改之后还没有存放到暂存区,撤销修改命令是將工作区恢复回版本库一模一样的状态。
         第二种是文件已经添加到暂存区了,工作区又做了修改,撤销修改就將工作区恢复回暂存区后的状态。
         总之就是让工作区文件回到最近一次git commit或者是git add时状态。
     
         但是,修改错误的文件添加到了暂存区,这时候可以把暂存区撤销掉(unstage),使用命令git reset HEAD file 可以把暂存区的修改撤销掉重新放回工作区。git reset的命令可以回退版本,也可以將暂存区的修改回退到工作区。
         还有一种情况是修改错误的文件已经提交到版本库了,撤销修改的办法就是回退版本。
     
         要是在工作区删除一个文件,但是这样会导致工作区和暂存区状态不一致,可以使用git rm file来从版本库删除该文件。
         一不小心删除了某个文件,也可以使用git checkout -- file来找回最新文件。
         
     
     
     
     
         
         
  • 相关阅读:
    sublime text 3安装 package control 插件的方法
    mysql 库和表占用空间查询
    错误:编码GBK的不可映射字符
    新系统设置 github 私钥
    git 之忽略文件 gitignore 创建和使用规则
    DesiredCapabilities内容详解(摘)
    appium-python自动化之get_attribute笔记(摘)
    excel批量插入图片-方法(宏和纯手工操作)
    利用Python将多个excel文件合并为一个文件
    notePad++ 运行python
  • 原文地址:https://www.cnblogs.com/liusxg/p/5431159.html
Copyright © 2011-2022 走看看