Git----版本控制系统安装及使用


学习地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

简介

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

   版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。



Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的


一.windows安装

1.下载安装文件

     msysgit是Windows版的Git,从https://git-for-windows.github.io下载(网速慢的同学请移步国内镜像),然后按默认选项安装即可。

2.验证是否安装成功

    安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功


3.设置名字和Email地址

  安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。

二.创建版本库

    可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

注:为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

1.创建目录

选择一个合适的地方,创建一个空目录:

也不一定必须在空目录下创建Git仓库,选择一个已经有东西的目录也是可以的。不过,不建议你使用自己正在开发的公司项目来学习Git,否则造成的一切后果概不负责。

$ mkdir learngit   # 创建 learngit目录
$ cd learngit	   # 进入learngit目录
$ pwd	           # 显示当前目录
/Users/michael/learngit
2.把目录变为Git仓库(git init)

通过git init命令把这个目录变成Git可以管理的仓库:

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。

三把文件添加到版本库

我们编写一个readme.txt文件

   千万不要使用Windows自带的记事本编辑任何文本文件,使用Notepad++代替记事本,把Notepad++的默认编码设置为UTF-8 without BOM即可

把文件移动到版本库(就是我们创建的learngit文件夹下[子目录也行]),因为这是一个Git仓库,放到其他地方Git再厉害也找不到这个文件

第一步,用命令git add告诉Git,把文件添加到仓库:

$ git add readme.txt
执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。

第二步,用命令git commit告诉Git,把文件提交到仓库:

$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt

git commit命令-m后面输入的是本次提交的说明,可以输入任意内容,最好是有意义的,这样你才能从历史记录里方便地找到改动记录。

git commit命令执行成功后会告诉你,1个文件被改动(我们新添加的readme.txt文件),插入了两行内容(readme.txt有两行内容)。

为什么Git添加文件需要add,commit一共两步呢?

因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

四、常用命令

----------------修改文件---------------------
git status:查看仓库当前的状态
git diff:查看仓库的差异
如果修改文件后,一般我们会如下使用命令:
git add <file>    # 上传文件
git status	  # 查看查看状态
git commit -m "add xxx"   # 提交
-----------------回退版本-----------------------
git log:查看历史记录
git log --pretty=oneline  按版本记录查看
git reset --hard HEAD^:回退到某一个版本
注:在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,100个版本写100个^比较容易数不过来,所以写成HEAD~100
git reflog:查看每次记录
git reset --hard 3628164:指定到某个版本
---------------查看文件-------------
cat readme.txt
----------------撤销修改------------
git checkout -- readme.txt:把readme.txt文件在工作区的修改全部撤销。
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。

git reset HEAD readme.txt:把暂存区的修改撤销掉,重新放回工作区
------------------------从版本库中删除文件--------------------------
$ rm test.txt:删除test.txt文件
$ git commit -m "remove test.txt":提交
五、远程仓库

1.远程仓库获取

1.使用GitHub(https://github.com/)
2.使用码云(http://git.oschina.net/)

2.绑定远程仓库
1.GitHub相关教程
2.马云相关教程



版权声明:本文为xm_csdn原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xm_csdn/article/details/78231944