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来找回最新文件。
     
 
 
 
 
     
     
原文地址:https://www.cnblogs.com/liusxg/p/5431159.html