Git 版本控制工具学习笔记01

Github学习笔记

如果你是一个开发人员,想用上这个世界上目前最先进的分布式版本控制系统,那就不应该错过Git。

  • 集中式VS分布式
    CVS和SVN是集中式版本控制系统,Git是分布式版本控制系统。区别在哪里呢?顾名思义,集中式的,版本文件在一个总的服务器,使用前下载,使用后归还,由中央服务器统一管理,这个对网络速度要求比较高;分布式系统是分权给每个用户,每个用户电脑里保存有完整版本,修改结束后会把大家做出的更改互相推送,可以不用一直联网。
    各有优缺点。集中式版本控制系统安全性不如分布式的,因为中央服务器出了问题,则整个项目都会受影响,作为弥补,分布式系统中也有一个充当“中央服务器”的电脑,是名义上的协调者。

Git 的安装

详见网上的各种教程;

创建个人仓库

必须明确的是,所有版本控制系统,其实只能跟踪文本文件的改动。
初始化一个Git仓库,使用命令: git init
新文件必须放到GitFileName文件夹下面(子目录也行),把文件放入Git仓库只需两步:第一步,使用 git add 告诉Git,把文件放入仓库;第二步,使用 git commit ,告诉Git把文件提交到仓库。 如果需要多次提交文件,那就多次 add ,最后一次性 commit。

时光穿梭机

哈哈哈,这真是特别牛的东西,牛到可以回顾历史上发生了什么,前提是刀笔吏(程序员)得把这些东西提交到史书中。
现在看看如何查看版本记录:git log 命令.
单纯使用这么一个命令,输出的消息能占满整个屏幕,此时换用 命令: git log –pretty=oneline (不是Online)
这个命令输出的是带有Id的东西,是说每一次提交所产生的唯一ID,由SHA1计算出来的数字。
如何还原到历史上的某个版本呢?使用命令: git reset –hard HEAD~Num
要想回到某个特定的版本,可以使用命令: git reset –hard commit_id
如果想重返未来,可以使用 git reflog 查看命令历史 ,以确定要返回未来的哪个版本。
小结:

HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset  --hard commit_id。

穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

工作区和暂存区

**Git与其他版本系统的一个不同之处就在于暂存区的概念。**
git add 命令是把文件添加进去,实际上是把文件添加到暂存区;
git commit 提交更改,实际上就是把暂存区中的内容提交到当前分支;
创建版本库时,Git自动创建一个master分支,git commit 就是向master分支上提交更改.


管理修改

把某文件在工作区的修改全部撤销,有两种情况:
一种是该文件自然修改后还没有被放倒暂存区,需要撤销修改,然后回到和版本库一模一样的状态:
一种情况时该文件已经被添加到暂存区后,又作了修改,需要撤消更改后就会到添加到暂存区后的状态;
牛啊,情况考虑周到,被杀绝了。真就有这么一个命令, git checkout – file
然而,如果我们不小心把把文件上传到了暂存区,但没提交commit,这个时候怎么救回来?有办法,使用 git reset HEAD 可以把暂存区的修改撤销掉(unstage),重新放回工作区。使用HEAD时,表示最新版本。在文件放回工作区后,再次使用 git checkout 即可把工作区的修改撤销。

删除文件

git中,删除也是一个修改操作。
如果直接在文件管理器中把没用的文件给删除了,或者使用 rm 命令删除的,Git版本库那边的状态就和工作区不同了,为保持两边一致,需要有以下操作:
如果版本库中文件也需要删除,就是用命令: git rm
如果工作区的文件是误删,除了使用系统自带的文件恢复工具,可以使用命令: git checkout – filename . 这个命令将会使用版本库里的文件替换工作区的版本。


此处是结尾

今天是实习第一天,我的天啊,之前竟然没用过版本控制工具,下午算是开始正式学习Git工具,神一般的利器。我后面会慢慢更改本次学习笔记,如果有错误,欢迎在评论区指出。


猜你喜欢

转载自blog.csdn.net/qq_37040173/article/details/81084855