一.git的简介

git是一个最强大的分布式版本管理系统,通过c语言进行开发,且不同于集中式版本控制系统
1.并没有中央管理器,每个人的电脑都是一个版本库,相互只需要将修改推送给对方即可,所以不用联网
2.分布式版本管理系统的安全性能高,因为并没有所谓的中央管理器,每个人的电脑都是一个版本库,所以并不用担心电脑坏掉后,无法工作
3.强大的分支管理


所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等

二.git的操作(在本地提交到版本库)

1.安装
2.配置

$ git config --global user.name "你的git账号用户名"
$ git config --global user.email "你的git账号的邮箱"
-------此为全局配置

————因为git是一个版本控制系统,所以每个机器都必须自报家门:账号 邮箱
3.创建git仓库(版本库)
————创建一个空的文件夹,将其转化为git可管理的版本库

$ git init
----初始化git仓库,转化为git可管理的版本库

————可以看到在当前目录下,会有一个隐藏的 .git目录
4.将需要管理的文件放在本地版本库中,即新创建的git的版本库下
————将文件放在git仓库中

$ git add readme.txt(需要管理的文件名)—————告诉git,将文件的修改添加到仓库中
$ git commit -m "write a file(本次提交的说明)"————告诉git,将文件的修改提交到仓库中

————可以add多个文件,然后commit一次性提交到仓库:
$ git add  readme.txt
$ git add  1.txt  2.txt
$ git commit -m "add three files"

————git commit命令成功后,会输出和告诉用户,
              ----- file  changed(新添加的文件)
              -----insertions (文件内容里面插入的多少行)

三.git操作(文件修改后,需再次提交)

1.查看git仓库的状态

$ git status -------即仓库中有文件被修改,有文件被删除等,大致的改变

2.查看文件改变的内容

 $ git diff  -------查看git仓库中具体改变的某内容,即什么文件被修改,修改的内容

3.提交修改后的文件

提交修改过后的read.txt文件:
$ git add read.txt-----但git控制台中并没有输出内容
 ------可以通过$ git status查看git仓库的状态,是否已经保存和添加到版本库中
$ git commit -m  "add a txt"-----进行提交
 ------可以通过$ git status查看仓库的当前的状态,会提示,其仓库中已经没有什么可以进行提交的了

四.git操作(想返回到历史的某个版本)

1.查看历史记录

--------查看文件被修改的历史记录,即查看提交的日志
$ git log -------提交的日志,当时提交文件的修改内容(即使用commit命令提交时,所书写的描述内容),以及当时的commit id(git的版本号),一大串数字

2 .版本回退
--------回退到某个之前提交时的版本
--------首先git必须知道是哪个版本,也就是哪个commit id(一大串数字的哪个),且用HEAD表示当前版本, HEAD^ 表示上一个版本,HEAD^^ 表示上上个版本

$ git reset --hard HEAD^  ------表示回退到上一个版本
$ git reset --hard HEAD^^  ------表示回退到上上一个版本
$ git cat readme.txt --------查看当前版本readme.txt文件的内容,即提交的内容,也可查看某文件的内容

3 .回退后,想回到未来的某个版本
---------当回退到历史版本后,最新的版本可能将会被覆盖掉。即只能回到过去,并不能回到未来

---------可指定某个版本,告诉其版本的id
 $ git reset --hard 1094a(某个指定版本的版本号id。可取前几位)
---------git中版本回退的速度非常快,因为git内部存在有指向当前版本的HEAD指针,当回退版本时,其实只是
 指针的指向发生改变,从一个指针指向另一个指针

4 .回退后,想回到最新版本,但忘记最新版本的commit id

----------$ git reflog  --------可以查看操作的每一条命令和每次提交commit的版本号id

5 .撤销修改
----------当文件中发现多添加了一行,多删除了一行,想撤销
----------1. 丢失工作区的修改

------$ git checkout -- file(文件名,不一定是file)  -----可以丢失工作区的修改,即撤销此文件在工作区的修改
------当文件还没有添加到暂存区,则会返回到和版本库一模一样的状态
------当文件已经添加到暂存区,则会返回到添加到暂存区后的状态

----------2. 工作区的修改已经添加到暂存区,想丢失修改

------$ git reset HEAD readme.txt(文件名)  ------将暂存区的修改撤销掉,重新放回到工作区
------即回退到之前的版本,回到已经工作区修改,但还未添加到暂存区的状态
------$ git checkout --readme.txt
 -----版本回退后,通过checkout丢失工作区的修改

6 .删除文件
---------当文件删除时,同样是一个操作
---------当文件add,且commit提交后,在文件管理器中删除文件,此时的提交后的版本库中存在此文件

1.确实需要删除版本库中的某文件
--------$ git rm test.txt  -----------删除版本库中的test.txt文件
2.误删
--------$ git checkout --test.txt --------撤销修改,返回到之前的状态
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐